Ларавель. Связи между таблицами. Получите запись

#mysql #laravel #eloquent #datatables #laravel-8

Вопрос:

Я использовал последнюю версию фреймворка laravel. Я не могу получить доступ к определенной записи. У меня есть две ссылки на поля в одной таблице. Моя миграция:

   Schema::create('application_forms', function (Blueprint $table) {
            $table->unsignedBigInteger('clients_id');
            $table->foreign('clients_id')->references('id')->on('clients')->onDelete('cascade');
            
            $table->unsignedBigInteger('buyer_id')->nullable();
            $table->foreign('buyer_id')->references('id')->on('clients')->onDelete('cascade');
 

Моя модель

 class Application_form extends Model
{
public function clients()
    {
      return $this->belongsTo(Client::class);
    }
 

Я использовал свой клинок

 {{$application_form->clients->FIO_Client}}
 

Но я не могу получить доступ к записи с buyer_id помощью . Я получаю запись с clients_id . Как я могу получить доступ к этому

 $table->unsignedBigInteger('buyer_id')->nullable();
            $table->foreign('buyer_id')->references('id')->on('clients')->onDelete('cascade');
 

Комментарии:

1. Вы получаете какое-либо сообщение об ошибке?

2. Нет. Я просто не знаю, как получить доступ к записи «buyer_id» на лезвии. Я могу получить доступ к записи «clients_id» таким образом {{$application_form->клиенты->>FIO_Client}}. Мне нужен доступ к записи «buyer_id»

3. Трудно сказать, не видя отношения и модели покупателя

4. Модель — это та, которая является Клиентом. Моя модель Application_form принадлежит модели «Клиент»

5. И client_id, и buyer_id относятся к клиентским моделям? Но модель Application_form показывает только одну связь