0
这是一个奇怪的问题。laravel关系过滤器查询
什么,我需要做的是过滤掉任何许多到已经连接到当前项目的许多项目
因此,可以说为例子缘故box
和tool
,我需要一个laravel查询显示所有tools
是与当前的box
没有关联。问题是该工具可以与不同的box
关联,所以即使我可以过滤关系,我也无法保证其他关系可能仍会使tool
看起来像它尚未关联。
$data = Tool::select(
'tools.id',
'tools.name',
'tool_box.box_id')
->distinct()
->join('boxes', 'tools.id', '=', 'tool_box.tool_id')
->where('tool_box.box_id', '!=', $id)
->get();
这或多或少是我目前正在与打算,它可以过滤一些物品,但如果一个工具与一个以上的框与关联,它失败。
任何想法?
你接近,唯一的问题是,' - >在哪里(“tool_box.id”,“<>” ,$ id)'需要是' - > where('tool_box.id','=',$ id)',因为它需要创建一个值的数组来忽略。另外,由于'tool_box'是一个数据透视表,因此忽略了ID的工具,因此不再有任何加入的理由。谢谢你的帮助,这真的帮助我更多地了解雄辩。 – 2015-04-02 16:58:44