我如何进行有条件的加入? Laravel 5

时间:2016-10-27 16:48:43

标签: laravel-5

我有一个模型项目 hasMany templateItems 。该关系使用 items.id 作为 template_items 中的外键。

我正在尝试返回所有但仅包含相关的 templateItems ,其中 template_items.template 等于$ id。

我试过这个;

        $items = Item::with('templateItems', function($query) use ($id) {
        $query->where('template_items.template', $id);
        })->get();

我明白了:

Builder.php第1150行中的ErrorException: explode()期望参数2为字符串,给定对象

我错过了什么或者有更好的方法吗? 感谢。

1 个答案:

答案 0 :(得分:0)

您的查询应该是这样的:

$items = Item::with(['templateItems' => function($query) use ($id) {
    $query->where('template_items.template', $id);
  }])->get();