Laravel Eloquent多种方法链接

时间:2015-11-17 19:54:49

标签: php laravel eloquent

我有一个带有laravel的项目,我有一些如下表:

#users table:
->id
->username
->password

#profile table:
->id
->user_id
->firstname
->lastname

#articles table:
->id
->user_id
->title
->body

#photos table:
->id
->article_id
->path

获取用户文章照片我想知道我应该如何处理eloquent我在模型中设置关系但是当我第一次尝试它时我注意到我不能做像

这样的事情
User::find(1)->articles()->photos();
然后我尝试了其他一些方法,但我失败了!
现在我想知道如何检索与用户及其文章相关的照片?
谢谢你们。

2 个答案:

答案 0 :(得分:1)

您可以使用with方法急切加载关系。您还可以使用点表示法来加载“嵌套”关系。

示例:

User::with('articles.photos')->find(1);

这将检索主键为1的用户。它还将检索所有用户的文章以及与这些文章相关的照片。

热切加载和点符号的文档:http://laravel.com/docs/5.1/eloquent-relationships#eager-loading

答案 1 :(得分:0)

您必须pluck articles集合中的$user = User::with('articles.photos')->find(1); $photos = $user->articles->pluck('photos')->collapse(); 张照片:

 db.execSQL("CREATE TABLE CATEGORIES categories (_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
        "category_name TEXT, category_date TEXT, frequency TEXT, currency TEXT," +
        "duration_value TEXT, duration_modifier TEXT, overage TEXT, surplus TEXT);");