我正在嘗試爲用戶帖子實現「喜歡」功能的副項目。我們正在使用Laravel的ORM,並且我們希望使用急切的加載來簡化操作,下面我將概述這個問題。有些信息首先,post.php中模型包含這樣的:如何使用Laravel Eloquent中的加載加載索引返回的數組?
public function likes()
{
return $this->hasMany('App\Models\PostLike', 'post_id', 'post_id');
}
的PostController.php執行API調用來加載職位,他們喜歡看起來像:
$posts = Post::with("likes")->where("group_id", "=", $group_id)->get();
一個例子從JSON響應帖子API可能是這樣的:
[
{
"post_id":1,
"group_id":1,
"author_id":1,
"text":"Some text here.",
"created_at":"2015-08-13 00:15:08",
"updated_at":"2015-08-13 00:15:08",
"likes":[
{"post_id":1,"user_id":1,"updated_at":"2015-08-14 03:05:48"}
]
}
]
這樣做的問題是,「喜歡」不被索引USER_ID,所以你必須通過數組進行搜索,以確定我如果用戶喜歡該帖子或者不喜歡,可以通過唯一的user_id鍵索引它。這將產生類似:
[
{
"post_id":1,
"group_id":1,
"author_id":1,
"text":"Some text here.",
"created_at":"2015-08-13 00:15:08",
"updated_at":"2015-08-13 00:15:08",
"likes":{
"1": {"post_id":1,"user_id":1,"updated_at":"2015-08-14 03:05:48"}
}
}
]
所以最終的問題是我們如何指數則返回一個列的積極加載的響應?
很好的答案! 作爲供參考,術語是一個**雄辯Accessor **:[Laravel文檔](https://laravel.com/docs/5.2/eloquent-mutators#accessors-and-mutators) – Roark
這是真的,謝謝你的小費。我更新了這個帖子 –
非常棒。我知道必須有一個簡單的方法,謝謝! – Staysee