Задать вопрос
@Alk90
php, mysql, jquery, css, html, api

Как добавить атрибут в процессе выполнения в связанную модель?

Всем привет!
Я получаю список заказов вот таким способом.

$orders = Order::with('user')->get();
$orders->append(Order::ATTRIBUTE_USER_NAME);


class Order extends Model{
	const ATTRIBUTE_USER_NAME = 'user_name';
	
	protected $appends  = [self::ATTRIBUTE_USER_NAME];
	
	public function getUserNameAttribute(){

        return $this->user->name . ' ' . $this->user->lastname;

    }
}


Это дает мне результат:
id: 12,
user_name: Иван Иванов,
user: {
		id: 1232,
		name: Иван,
		lastname: Иванов
}


Подскажите как мне получить такой резульат изменяя append для модели User во время выполнения скрипта?
id: 12,
user: {
		id: 1232,
		name: Иван,
		lastname: Иванов,
		user_name: Иван 
	}


Я пробовал вот так, нополучаю ошибку (Call to undefined method Illuminate\Database\Eloquent\Relations\BelongsTo::append()):

$orders = Order::with('user', function($query){
                    $query->append(User::ATTRIBUTE_USER_NAME);
            }) ->get();
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы