У меня есть две таблицы, «счета» и «Followups». Я хочу иметь возможность получать данные через FollowupController, чтобы перейти к представлению и выполнить цикл foreach.
Например; У меня есть несколько строк учетных записей в таблице учетных записей, и только определенные строки будут иметь отслеживание, связанное с ним через внешний ключ. Я хочу иметь возможность повторять эти последующие действия. Получить данные из таблицы последующих действий очень просто. Но я не уверен, как извлечь данные из таблицы учетных записей в том же цикле foreach.
Это то, что у меня есть (явно не работает);
Вид:
@foreach($accounts as $account)
{{$account->sName}}
@foreach($followups as $followup)
<div style = "padding-bottom: 5px">
<h5>{{$followup->followSubject}}</h5>
<p><b>Date Created: </b> {{$followup->followCreateDate}}</p>
<p><b>Follow Up By: </b> {{$followup->followUpEndDate}}</p>
<p>{{$followup->followNotes}}</p>
</div>
@endforeach
@endforeach
Контроллер:
public function index()
{
$followups = Followup::all();
$accounts = Account::all();
return view('followups')->with('followups', $followups)
->with('accounts', Account::all());
}
Модель для счетов:
function followups() {
return $this->hasMany(Followups::class);
}
Модель для последующих действий:
public function account() {
return $this->belongsTo('App\Account');
}
Заранее спасибо.
вы можете присоединиться к таблицам с внешним ключом. Следуйте по ссылке laravel.com/docs/5.6/queries#joins
@LuisfelipeDejesusMunoz Я только что добавил свои модели, которые у меня есть, но мне все еще трудно загрузить связанные данные.
@KuldeepMishra Я попытался объединить таблицы, я получаю сообщение об ошибке; (1/1) BadMethodCallException Соединение метода не существует.
поделитесь своим кодом присоединения.
вы также можете сделать отношения.






Просто загрузите их, будут отображаться те, у которых есть продолжение:
public function index()
{
$accounts = Account::with('followups')->get();
return view('followups', ['accounts'=>$accounts]);
}
Затем получите доступ к ним на лезвии:
@foreach($accounts as $account)
{{$account->followups->attribute}}
@endforeach
Для получения дополнительной информации проверьте Laravel загрузка
Когда я реализую этот код, я получаю следующую ошибку: (1/1) FatalThrowableError Class 'App \ Followups' не найден
$account->followups->attribute выбросит trying to get property of non-object, потому что это массив. Помните, что у account много followups.
... Извините, да, я уже сделал это, но допустил опечатку ... Я слишком долго кодировал ... Извините, но теперь я получаю эту ошибку; (1/1) RelationNotFoundException Вызов неопределенной связи [продолжение] в модели [Приложение \ Учетная запись]. Но я думал, что уже определил отношения в модели?
да, я уже заметил и исправил это, теперь он просто говорит мне "ErrorException Undefined variable: account", что заставляет меня думать, что все еще существует проблема с моими отношениями ..
@LuisfelipeDejesusMunoz как исправить свойство ошибки, не связанной с объектом?
перебрать массив $account->followups.
Сделайте отношение в своей модели, а затем загрузите связанные данные