#php #laravel #laravel-blade
#php #laravel #laravel-blade
Вопрос:
У меня есть 3 таблицы:
пользователь | порядок | Статус |
---|
Я хочу, чтобы каждый из моих пользователей мог получить доступ к статусу, который они заказывают. Итак, после поиска я обнаружил, что :
'students' => User::where('name', 'like', '%'.$this->search.'%')
->with('order.status')
->paginate(20),
По-видимому, мои отношения работают хорошо, потому что, когда я пользователь «dd», я вижу связь порядка с отношением статуса.
Но теперь, как мне получить доступ к таблице состояния из моего @foreach($students as $student)
.blade.php
файла?
Я пробовал {{ $student->orde->status->statu }}
(statu — это имя строки таблицы, к которой я хочу получить доступ), но Laravel это не устраивает.
Когда я это делаю {{ $student->order }}
, я получаю это:
[
{
"id":1,
"user_id":1,
"statu_id":1,
"archive":0,
"created_at":"2021-01-05T11:40:04.000000Z",
"updated_at":"2021-01-05T11:40:04.000000Z",
"status": {
"id":1,
"statu":"commandu00e9",
"created_at":null,
"updated_at":null
}
}
]
Итак, то, к чему я хочу получить доступ, есть. Просто я не знаю, как это получить.
Комментарии:
1. существует «много» заказов, так для какого из них вы ожидаете получить статус?
2. Начните с использования согласованного правописания… В вашем вопросе у вас было
status
,statu
,staus
,orde
, и т.д… Я предполагаю, что вы имеете в видуstatus
иorder
, но ваш JSON говоритstatu
, так что я не знаю…3. Lagbox, я делаю foreach для пользователей, пользователь может сделать только один заказ в моем приложении, поэтому у пользователя есть только один статус заказа. Статус — это имя таблицы, в этой таблице у меня есть строка ‘statu’. «Orde» и «Staus» — это опечатка, извините.
4. Как выглядит
order
метод вUser
модели?5. публичная функция order (){ return $this->hasOne(Order::class); }