3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace Lunnar\Bundle\CustomRepositories; use Doctrine\ORM\EntityRepository; class ProfileRepository extends EntityRepository{ public function RandomProfilesWithLimit($Limit){ $numbers = $this->getEntityManager() ->createQuery( 'SELECT p.id FROM LunnarBundle:Profile p' )->getResult(); shuffle($numbers); $numbers = array_slice($numbers, 0, $Limit); $query = 'SELECT p FROM LunnarBundle:Profile p WHERE p.id in ('; foreach($numbers as $number){ foreach($number as $key){ $query = $query.$key.','; } } $query = substr($query, 0, -1); $query = $query.')'; return $this->getEntityManager() ->createQuery( $query )->getResult(); } public function getProfilesBySearch($searchString, $isMapSearch = false){ $searchString = strtolower($searchString); $em = $this->getEntityManager(); $cit = $em->getRepository('LunnarBundle:City')->findAll(); $cat = $em->getRepository('LunnarBundle:Profilecategory')->findAll(); $cities = array(); $categories = array(); foreach($cit as $city){ array_push($cities, strtolower($city->getName())); } foreach($cat as $category){ array_push($categories, strtolower($category->getName())); } $parameters = array( 'var' => '%'.$searchString.'%', ); $searchQuery = "SELECT p FROM LunnarBundle:Profile p LEFT JOIN p.divisions d LEFT JOIN p.brand b LEFT JOIN p.profilecategory pc LEFT JOIN d.city c WHERE ( p.name LIKE :var OR (d.name LIKE :var AND d.maindivision = true )OR b.name LIKE :var OR pc.name LIKE :var OR c.name LIKE :var ) ORDER BY p.name ASC"; $query = $this->getEntityManager() ->createQuery( $searchQuery )->setParameters($parameters); return $query->getResult(); } public function getProfilesExperimental($searchString, $isMapSearch = false){ $searchString = strtolower($searchString); $em = $this->getEntityManager(); $cit = $em->getRepository('LunnarBundle:City')->findAll(); $cat = $em->getRepository('LunnarBundle:Profilecategory')->findAll(); $bra = $em->getRepository('LunnarBundle:Brand')->findAll(); $cities = array(); $profilecategories = array(); $brands = array(); foreach($cit as $city){ array_push($cities, strtolower($city->getName())); } foreach($cat as $category){ array_push($profilecategories, strtolower($category->getName())); } foreach($bra as $brand){ array_push($brands, strtolower($brand->getName())); } $parameters = array(); //'var' => '%'.$searchString.'%', $searchQuerySelectJoin = "SELECT p FROM LunnarBundle:Profile p LEFT JOIN p.divisions d "; $searchQueryWhere = ""; ////////////////////////// $searchStringArray = explode(" ", $searchString); // Remove í, á and við $removeWords = array('í','á','við'); //Find city, category, brand and save for later, and remove them from $searchStringArray $searchStringArray = array_diff($searchStringArray, $removeWords); $city = array_intersect($searchStringArray, $cities); $searchStringArray = array_diff($searchStringArray, $city); $category = array_intersect($searchStringArray, $profilecategories); $searchStringArray = array_diff($searchStringArray, $category); $brand = array_intersect($searchStringArray, $brands); $searchStringArray = array_diff($searchStringArray, $brand); //// PRINTS print_r($searchStringArray); echo '<br/>'; //print_r($city); //print_r($profilecategory); //print_r($brand); $first = true; $searchTerms = " "; if (sizeof($searchStringArray)>0){ $searchTerms = current($searchStringArray); $parameters['var'] = "%".$searchTerms."%"; $searchQueryWhere = "WHERE ( p.name LIKE :var ".$searchQueryWhere; $first = false; } elseif (sizeof($searchStringArray)==0){ $searchQueryWhere = " WHERE ( ".$searchQueryWhere; } if ($category){ $parameters['category'] = $category; $searchQuerySelectJoin .= " LEFT JOIN p.profilecategory pc "; if (!$first){ $searchQueryWhere .= " AND pc.name = :category "; }else { $first = false; $searchQueryWhere .= " pc.name = :category "; } } if ($brand){ $parameters['brand'] = $brand; $searchQuerySelectJoin .= " LEFT JOIN p.brand b "; if (!$first){ $searchQueryWhere .= " AND b.name = :brand "; }else { $first = false; $searchQueryWhere .= " b.name = :brand "; } } if ($city){ $parameters['city'] = $city; $searchQuerySelectJoin .= " LEFT JOIN d.city c "; if (!$first){ $searchQueryWhere .= " AND c.name = :city "; }else { $first = false; $searchQueryWhere .= " c.name = :city "; } } ////////////////////////// if($isMapSearch == true){ $searchQuery .= "AND d.latitude IS NOT NULL "; } $searchQuery = $searchQuerySelectJoin.$searchQueryWhere." ) ORDER BY p.name ASC"; echo $searchQuery; $query = $this->getEntityManager() ->createQuery( $searchQuery )->setParameters($parameters); return $query->getResult(); } }
Output for 8.0.0 - 8.0.11
Fatal error: Uncaught Error: Class "Doctrine\ORM\EntityRepository" not found in /in/gndpb:6 Stack trace: #0 {main} thrown in /in/gndpb on line 6
Process exited with code 255.
Output for 7.3.0 - 7.3.30, 7.4.0 - 7.4.24
Fatal error: Uncaught Error: Class 'Doctrine\ORM\EntityRepository' not found in /in/gndpb:6 Stack trace: #0 {main} thrown in /in/gndpb on line 6
Process exited with code 255.
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33
Fatal error: Class 'Doctrine\ORM\EntityRepository' not found in /in/gndpb on line 6
Process exited with code 255.
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Parse error: syntax error, unexpected T_STRING in /in/gndpb on line 2
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_STRING in /in/gndpb on line 2
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/gndpb on line 2
Process exited with code 255.

preferences:
240.83 ms | 401 KiB | 374 Q