Laravel 5.8 - Получить значения из результата - PullRequest
0 голосов
/ 11 июня 2019

Мне нужна помощь, чтобы этот код работал. После выполнения поиска по программному обеспечению мой контроллер возвращает локальных пользователей, у которых установлено программное обеспечение, и S.O. у кого то же самое. Например, этот запрос вернет «1 2», потому что у этих двух изображений есть «Google Chrome».

    $img_id = Software::where('application', $request->input('application'))->pluck('imagem_id');

И, кроме того, мне нужно перечислить всех местных жителей, у которых есть это изображение, после того, как следствие поиска по Программному обеспечению.

    $ambientes = Ambiente::where('imagem_id', $img_id)->get();

Но она показывает мне только местных жителей, у которых imagem_id = 1, даже если я использую foreach:

    @foreach ($ambientes as $value)
    <tr>
       <td>{{ $value->unidade->name }}</td>
       <td>{{ $value->bloco->name }}</td>
       <td>{{ $value->name }}</td>
       <td>{{ $value->imagem_id }}</td>
    </tr>
    @endforeach

Что мне нужно сделать, чтобы показать всем местным жителям, у которых image_id = 1 и 2 ??

Tks

Ответы [ 2 ]

4 голосов
/ 11 июня 2019

Как вы сказали, это

$img_id = Software::where('application', $request->input('application'))->pluck('imagem_id');

должен вернуть массив из двух идентификаторов, как это:

[1, 2]

Если это ответ, то вы можете использовать , где :

$ambientes = Ambiente::whereIn('imagem_id', $img_id)->get();

Это даст вам коллекцию обоих окружений, и представление останется прежним.

2 голосов
/ 11 июня 2019

Когда вы пытаетесь получить записи, которые соответствуют нескольким идентификаторам, вы не можете использовать where(), вам нужно будет использовать whereIn():

 $img_id = Software::where('application', $request->input('application'))->pluck('imagem_id');
 // This should return an array/Collection of `imagem_id` values.

 $ambientes = Ambiente::whereIn('imagem_id', $img_id)->get();

Теперь $ambientes долженсодержит Ambiente записей, которые соответствуют всем imagem_id значениям, возвращенным из вашего исходного запроса.

...