2016-01-04 4 views
2

Концепция: Я попытался получить общие страницы с 9999 и 1111. См. Ниже. (АКФ Fiorentia)Подзапросы: Laravel 4.2

PHPMyAdminDatabase

MySQL запросов: SELECT * из fb_likes, где page_id IN (

ВЫБОР page_id ОТ fb_likes ГДЕ user_fb_id = 9999)

и user_fb_id = 1111

PHP Код:

 $temp = FBLikes::where('user_fb_id','=','1111')->get(array('page_id')); 
     $tempArr = array(); 
     for($i = 0; $i < count($temp); $i++){ 
      $tempArr = array_add($tempArr, $i, $temp[$i]['page_id']); 
     } 
     print_r($tempArr); 
     $common_likes = FBlikes::whereIn('page_id', $tempArr)->where('user_fb_id','=', '9999')->get(); 

Я пробовал использовать красноречивый. Это не удалось.

Следующие шаги: я выполнил первый запрос. Затем сбрасывали данные в $ tempArr. Затем я передал массив $ tempArr в основной запрос.

Результат: Ничто не сохраняется в $ common_likes.

Не могли бы вы помочь мне написать mysql sub queries в одном выраженном выражении? Спасибо.

+0

какой результат печати $ tempArr? –

+0

Спасибо, что постарался мне помочь. Массив ([0] => 334348116596391) является результатом $ tempArr –

ответ

1

вы создаете недопустимый массив, и вам не нужно это делать. попробуйте заменить $tempArr с $temp и удалить весь этот код:

$tempArr = array(); 
for($i = 0; $i < count($temp); $i++){ 
    $tempArr = array_add($tempArr, $i, $temp[$i]['page_id']); 
} 
print_r($tempArr); 

вам не нужно.