Перво-наперво, это не дубликат Laravel 4: как "заказать" с помощью Eloquent ORM
У меня есть эта модель Пользователь, тогда у меня есть эта другая модель Идея. Я пишу представление с подробностями пользователя и хочу опубликовать все идеи, предложенные пользователем. Теперь идеи имеют статус, первый статус - «ПРОЕКТ», это означает, что только пользователь, опубликовавший идею, может ее просмотреть, идея не должна показываться другим пользователям, просматривающим профиль.
Используя eloquent, я мог бы сделать что-то вроде:
@foreach($user->idea as $idea)
...display details...
@endforeach
Моя проблема в том, что этот подход будет циклически проходить через все идеи И в том порядке, в котором они были представлены. Я могу добавить @if
, чтобы показать только то, что я хочу, например
@foreach($user->idea as $idea)
@if($idea->status !='DRAFT')
...show the idea...
@endif
@endforeach
Но я не думаю, что это разумный способ сделать это, я хотел бы сделать что-то вроде
$ideas = $user->idea->where('status', '<>', 'DRAFT')
и затем циклически перебирайте переменную $ideas
, или, по крайней мере, я бы хотел что-то вроде
$ideas = $user->idea->orderBy('created_at', 'desc')
Но я понятия не имею, как это сделать.