#php #laravel #eloquent #laravel-8
Вопрос:
У меня есть 3 таблицы (модели)
Advertise :
id
title
...
Value:
id
title
amount
....
Field:
id
name
title
...
and my pivot tables is like:
advertise_id
value_id
field_id
как я могу установить отношения в своих моделях и сделать грубость(пожалуйста, приведите мне пример)?
все отношения-это много ко многим
Комментарии:
1. как я могу установить отношения в своих моделях и сделать грубость(пожалуйста, приведите мне пример) Прочитайте документы Laravel, они буквально там!
2. Что вы подразумеваете под всеми отношениями «много ко многим»? Означает ли это
Advertise
«много-ко-многимField
«,Advertise
«много-ко-многимValue
» иField
«много-ко-многимValue
«?
Ответ №1:
3 класса моделей соответственно:
class Advertise extends Model
{
public function fields()
{
return $this->belongsToMany(Field::class);
}
public function values()
{
return $this->belongsToMany(Value::class);
}
}
class Field extends Model
{
public function advertises()
{
return $this->belongsToMany(Advertise::class);
}
public function values()
{
return $this->belongsToMany(Value::class);
}
}
class Value extends Model
{
public function fields()
{
return $this->belongsToMany(Field::class);
}
public function advertises()
{
return $this->belongsToMany(Advertise::class);
}
}