我需要一些帮助。我在我的laravel环境中设置了关系,我想检索所有标记为taken
的slots
。
因此,它只是在每个插槽上循环,并检查taken
是真是假。
以下是我的想法。。一直在尝试
$plateCont = 'App'Models'PlateContainer::find(7);
return $freeslots = $plateCont->containerSlots()->get();
foreach ($freeslots as $slot)
{
if($slot->where('taken', false))
{
return $slot->lists('slot');
}
// return $slots;
}
为此,我得到了200
状态代码,但没有显示任何内容。你能告诉我做这件事的好方法吗。
它只是获取指定id
的所有插槽,并检查它们是否为taken
。如果它们不是taken
返回时隙,否则返回all
时隙
更新将get()
链接到containerSlots()
之后。Foreach正在归还所有东西。
[
1,
7,
9,
5,
3,
5,
4,
3,
2,
1,
5,
1,
8,
9,
8,
5,
5,
1,
8,
5,
1,
5,
8,
8,
4,
5,
8,
4,
2,
1
]
您可以使用过滤器
$freeslots = $plateCont->containerSlots->filter(function($item) {
return $item->taken;
})
您可以尝试只获取taken
的slot
$freeslots = $plateCont->containerSlots()->where('taken', true)->get()