пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Отношения belongsTo

  1. Отношения belongsTo

Определение обратного отношения

После получения доступа ко всем комментариям статьи давай определим отношение, которое позволит комментарию получить доступ к его статье. Чтобы определить обратное отношение hasMany(), давайте определим функцию отношения на дочерней модели, которая вызывает метод belongsTo():

<?php



namespace App;



use Illuminate\Database\Eloquent\Model;



class Comment extends Model

{

  /**

   * Получить статью данного комментария.

   */

  public function post()

  {

    return $this->belongsTo('App\Post');

  }

}

После определения отношений мы можем получить модель Post для Comment, обратившись к динамическому свойству post:

$comment = App\Comment::find(1);



echo $comment->post->title;

В примере выше Eloquent пробует связать post_id из модели Comment с id модели Post. По умолчанию Eloquent определяет внешний ключ по имени метода отношения плюс _id. Однако, если внешний ключ для модели Comment не post_id, вы можете передать своё имя вторым параметром в метод belongsTo():

/**

 * Получить статью данного комментария.

 */

public function post()

{

  return $this->belongsTo('App\Post', 'foreign_key');

}

Если ваша родительская модель не использует id в качестве первичного ключа, или вам бы хотелось присоединить дочернюю модель к другому столбцу, вы можете передать третий параметр в метод belongsTo(), который определяет имя связанного столбца в родительской таблице:

/**

 * Получить статью данного комментария.

 */

public function post()

{

  return $this->belongsTo('App\Post', 'foreign_key', 'other_key');

 


22.06.2017; 21:32
хиты: 103
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь