我在玩Laravel,我有這個代碼。它根據提供的用戶名返回所有用戶帖子。Laravel雄辯地抓住用戶訂購的帖子
控制器
$posts = User::whereUsername($username)->firstOrFail()->posts;
return View::make('users.index')->with($posts);
查看
@foreach($posts as $post)
{{ $post->title }}
{{ $post-owner->username }}
// etc etc
@endforeach
我怎麼會去添加orderBy()
到我的查詢?我希望帖子按照最新的順序排列。這是我嘗試:(
User::whereUsername($username)->firstOrFail()->posts->orderBy('created_at', 'DESC');
還是有更好的方式去這樣做呢?
編輯
用戶模型
public function posts()
{
return $this->hasMany('Post');
}
日誌模型
public function owner()
{
return $this->belongsTo('User', 'user_id');
}
一切括號看起來很不錯!有什麼錯誤? – Oni 2014-10-11 04:41:29
'firstOrFail'應該返回一個'User'模型,如果它找到了一個或者'ModelNotFoundException',如果它找不到任何東西 – Oni 2014-10-11 04:44:40
這是錯誤'調用未定義的方法Illuminate \ Database \ Eloquent \ Collection :: orderBy() ' – Staysee 2014-10-11 04:46:51