У меня есть две таблицы, связанные многими со многими в Laravel Framework. Я могу отображать данные из каждой таблицы отдельно, но не через отношения, взяв одну запись из первой таблицы и проверив связанные записи во второй таблице. В тинкере он нормально обращается к данным.
Отношения:
public function underperformances() {
return $this->belongsToMany(Underperformance::Class);
}
...
public function procedures() {
return $this->belongsToMany(Procedure::class);
}
Моя часть контроллера ресурсов:
...
use App\Underperformance;
use App\Procedure;
...
public function index()
{
$books = Underperformance::orderBy('id','desc')->paginate(9);
$procedures = Procedure::all();
return view('underpcon.underps', compact('books', 'procedures'));
}
Маршрут:
Route::get('/underps', 'UnderpsController@index');
Если Я пытаюсь отобразить данные следующим образом:
@foreach($procedures as $procedure)
<li>{{$procedure->underperformances}}</li>
@endforeach
Я получаю в браузере такой формат:
[{"id":1,"title":"Spare part not taken before service","description":"tekstas","level":"1","costs":600 ...
Это правильные данные из связанной таблицы, но я не могу выбрать дальнейшие параметры c столбец из этой таблицы. Например, это не работает:
@foreach($procedures as $procedure)
<li>{{$procedure->underperformances->id}}</li>
@endforeach
Ни этот:
@foreach ($procedures->underperformances as $underperformance)
<li>{{$underperformance->id}}</li>
@endforeach
- Как выбрать записи соответствующей таблицы и отобразить указанные c данные из этого таблица?
- Какой бы это был обычный способ сделать это?