Вернуть отношение / опору модели в метод после создания в Laravel Eloquent - PullRequest
0 голосов
/ 27 июня 2018

Как я могу вернуть модель с его отношением / осью в методе после firstOrNew?

Модель:

класс Заказчик расширяет модель { защищенная таблица $ = 'клиенты';

protected $primaryKey = 'customer_id';

public $timestamps = true;


protected $fillable = [
    'email',
    'first_name',
    'last_name',
    'address',
    'city',
    'county',
    'country',
    'phone',
    'organization_id',
    'unique_value'
  ];

protected $guarded = [];

public function locations()
{
    return $this->belongsToMany('App\Models\CustomerLocations', 'customer_customer_locations', 'customer_id', 'address_id')->withTimestamps();
}

}

Метод:

$customer = Customer::firstOrNew(['unique_value' => $unique_code]);

Есть логика ... и

return $customer;

Как я могу вернуть $customer с locations() ?? Я тоже сделаю firstOrNew для локаций.

1 Ответ

0 голосов
/ 27 июня 2018

Используйте protected $appends = ['locations']; в вашей модели.

protected $primaryKey = 'customer_id';

public $timestamps = true;

protected $appends = ['locations'];



protected $fillable = [
    'email',
    'first_name',
    'last_name',
    'address',
    'city',
    'county',
    'country',
    'phone',
    'organization_id',
    'unique_value'
  ];

protected $guarded = [];

public function locations()
{
    return $this->belongsToMany('App\Models\CustomerLocations', 'customer_customer_locations', 'customer_id', 'address_id')->withTimestamps();
}

Или вы используете return $cusotmer->load(['locations'])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...