Laravel - запрос данных из двух таблиц для передачи для просмотра

У меня есть две таблицы, «счета» и «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');
}

Заранее спасибо.

Сделайте отношение в своей модели, а затем загрузите связанные данные

Luis felipe De jesus Munoz 04.04.2018 15:04

вы можете присоединиться к таблицам с внешним ключом. Следуйте по ссылке laravel.com/docs/5.6/queries#joins

Kuldeep Mishra 04.04.2018 15:06

@LuisfelipeDejesusMunoz Я только что добавил свои модели, которые у меня есть, но мне все еще трудно загрузить связанные данные.

MLJezus 04.04.2018 15:07

@KuldeepMishra Я попытался объединить таблицы, я получаю сообщение об ошибке; (1/1) BadMethodCallException Соединение метода не существует.

MLJezus 04.04.2018 15:10

поделитесь своим кодом присоединения.

Kuldeep Mishra 04.04.2018 15:12

вы также можете сделать отношения.

Kuldeep Mishra 04.04.2018 15:13
laracasts.com/discuss/channels/laravel/…
Kuldeep Mishra 04.04.2018 15:16
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
110
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Просто загрузите их, будут отображаться те, у которых есть продолжение:

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' не найден

MLJezus 04.04.2018 15:27
$account->followups->attribute выбросит trying to get property of non-object, потому что это массив. Помните, что у account много followups.
Luis felipe De jesus Munoz 04.04.2018 15:31

... Извините, да, я уже сделал это, но допустил опечатку ... Я слишком долго кодировал ... Извините, но теперь я получаю эту ошибку; (1/1) RelationNotFoundException Вызов неопределенной связи [продолжение] в модели [Приложение \ Учетная запись]. Но я думал, что уже определил отношения в модели?

MLJezus 04.04.2018 15:33

да, я уже заметил и исправил это, теперь он просто говорит мне "ErrorException Undefined variable: account", что заставляет меня думать, что все еще существует проблема с моими отношениями ..

MLJezus 04.04.2018 16:27

@LuisfelipeDejesusMunoz как исправить свойство ошибки, не связанной с объектом?

MLJezus 04.04.2018 17:11

перебрать массив $account->followups.

Luis felipe De jesus Munoz 04.04.2018 17:12

Другие вопросы по теме