通过哪种方式,我可以使用Laravel Eloquent Relation来解决我的问题

时间:2015-02-27 11:15:03

标签: php mysql laravel laravel-4 eloquent

我创建了一个名为“'客户'与另一个名为 - ' categories'。

的表有多对多的关系

我在下面的列中列出了4个表: -

  • '的用户' - id,category_id

  • '的类别' - id,name

  • '的 categories_users ' - id,user_id,category_id(多对多

  • '的请求' - id,category_id

我想抓住那些与用户类别相同的类别的请求,这些类别会保存在" categories_client'。

1 个答案:

答案 0 :(得分:0)

请求需要belongTo()一个类别,类似下面的内容应该有效。

// Create empty collection
$requests = new Illuminate\Support\Collection();

// Loop through all the categories a user has and merge their requests
//    into our empty collection
$user->categories->each(function($category) use (&$requests) {
    $requests->merge($category->requests);
});

我不相信通过数据透视表有一个内在的关系来支持这一点,就像hasManyThrough()

一样