Laravel 5.8 - 从 pluck 结果中获取值
Laravel 5.8 - Get values from pluck result
我需要帮助才能使此代码正常工作。通过软件搜索后,我的控制器return安装了该软件的本地人,S.O。谁有相同的。
例如,此查询将 return "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 的当地人展示?
感谢
正如你所说,这个
$img_id = Software::where('application', $request->input('application'))->pluck('imagem_id');
应该return像这样的两个ID的数组:
[1, 2]
如果这是响应,那么您可以使用 whereIn:
$ambientes = Ambiente::whereIn('imagem_id', $img_id)->get();
这将为您提供两种环境的集合,并且视图保持不变。
当您尝试获取匹配多个 ID 的记录时,您不能使用 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
值匹配的记录。
我需要帮助才能使此代码正常工作。通过软件搜索后,我的控制器return安装了该软件的本地人,S.O。谁有相同的。 例如,此查询将 return "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 的当地人展示?
感谢
正如你所说,这个
$img_id = Software::where('application', $request->input('application'))->pluck('imagem_id');
应该return像这样的两个ID的数组:
[1, 2]
如果这是响应,那么您可以使用 whereIn:
$ambientes = Ambiente::whereIn('imagem_id', $img_id)->get();
这将为您提供两种环境的集合,并且视图保持不变。
当您尝试获取匹配多个 ID 的记录时,您不能使用 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
值匹配的记录。