如果关系中的值与其他关系中的值不相同,则进行雄辩查询

时间:2015-05-17 19:30:08

标签: laravel eloquent

我有四种模式:ItemCarItemLocationBranch

Item通过数据库中的CarItemLocation字段提供person_iditem_location_id

Car的{​​{1}}链接到branch_id,而Branch也有ItemLocation

我想要做的是选择branch_id的{​​{1}}分支不等于Item分支的所有Cars

我试过这句话,虽然我知道它不会起作用:

ItemLocation

我知道querying on relationships,但不明白如何在这样的关系中做到这一点。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

查询关系对您没有帮助,因为您想要比较来自不同表的值。你需要加入:

ToolStripItemCollection menu = tsmi1.DropDownItems;
                for(int i = 0; i < menu.Count; i++) {
                    if(item.Category.Equals(menu[i].Text)) {
                        menu[i]. //need to add new menu item here....
                    }
                }

这将获取同时包含$items = Item::select('items.*') ->join('item_locations as il', 'il.id', '=', 'items.item_location_id') ->join('cars', function ($j) { $j->on('cars.person_id', '=', 'items.id') ->on('cars.branch_id', '<>', 'il.branch_id'); }) ->get() items的所有cars并符合您的条件。如果您还要包含不具有任何关系的内容,请改用item_locationleftJoins

PS。很难读懂你的问题。而不是描述这些关系,更好地简单地显示具有相关字段的表。