Как я могу сопоставить название продукта с его единицей? - PullRequest
0 голосов
/ 26 декабря 2018

Вот мой запрос:

Branch::active()->ProductUnit()->pluck('name', 'id');

Мне нужно объединить произведение name с unit.Также в модели product есть отношение, подобное этому:

public function unit()
{
    return $this->belongsTo(Unit::class);
}

И я хочу сделать scope в этой модели для обработки этой смеси:

public function scopeProductUnit(Builder $query)
{
    return $query-> ... ?
}

Как мне написать эту область и как использовать ее в запросе?

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Вы можете добавить ваш ответ.Добавьте это к вашей модели продукта

protected $appends = ['name_with_unit'];

Затем используйте accessor для изменения данных

public function getNameWithUnitAttribute()
{
    return $this->name . $this->unit->name; // update by your column name
}
0 голосов
/ 26 декабря 2018

Используйте метод доступа в модели продукта:

public function getNameWithUnitAttribute()
{
    return $this->name . $this->unit->name;
}

Использование:

$product->name_with_unit;
...