У меня две модели:
Ингредиент, Категория
Каждый ингредиент имеет идентификатор категории, в каждой категории много ингредиентов.
Проблема в том, что я использую авто- увеличивать идентификаторы для соединений и запросов внутри, но показывать только UUID для конечных пользователей.
Итак, таблица ингредиентов выглядит так:
id uuid name category_id
И таблица категорий выглядит так:
id uuid name
Мои данные в ингредиентах выглядят так:
id: 1, uuid: {a uuid}, name: Ingredient A, category_id : 1
Когда я выполняю Ingredient :: get (), я хочу вернуть это:
uuid: {ингредиент uuid}, name: Ingredient A, category_uuid: {категория uuid}
На основании того, что я узнал о Laravel, вы можете использовать аксессоры и мутаторы.
Я установил
protected $appends = [
'category_uuid'
];
и
public function category()
{
return $this->belongsTo(Category::class);
}
public function getCategoryUuidAttribute()
{
return $this->category()->uuid;
}
Но я получаю эту ошибку:
сообщение: «Неопределенное свойство: Illuminate \ Database \ Eloquent \ Relations \ BelongsTo :: $ uuid»
Wha я что делаю не так?