Я хочу связать третью таблицу с двумя другими. Поэтому я безуспешно пытался использовать пользовательскую сводную таблицу.
У меня есть три таблицы:
- Квартира (я называю это "Лот")
- Этаж (я называю это "Этаж)
- Поверхность (я называю это "Фракция")
Мои отношения:
- Лот имеет много этажей (дуплекс)
- Лот имеет много фракций
- Etage имеет много лота
- Etage имеет много фракций
- Фракция имеет один этап
- Фракция имеет один лот
И мои модели прямо сейчас:
class Lot extends Model
{
public function etages(){
return $this->belongsToMany('App\Models\Copro\Etage');
}
public function newPivot(Eloquent $parent, array $attributes, $table, $exists) {
if ($parent instanceof Event) {
return new EtageLot($parent, $attributes, $table, $exists);
}
return parent::newPivot($parent, $attributes, $table, $exists);
}
}
class Etage extends Model
{
public function lots()
{
return $this->belongsToMany('App\Models\Copro\Lot');
}
public function newPivot(Eloquent $parent, array $attributes, $table, $exists) {
if ($parent instanceof User) {
return new EtageLot($parent, $attributes, $table, $exists);
}
return parent::newPivot($parent, $attributes, $table, $exists);
}
}
class EtageLot extends Pivot
{
protected $table = 'etage_lot';
public function lot(){
return $this->belongsTo('App\Models\Copro\Lot');
}
public function etage(){
return $this->belongsTo('App\Models\Copro\Etage');
}
public function fractions()
{
return $this->hasMany('App\Models\Copro\Fraction','etage_lot_id');
}
}
class Fraction extends Model
{
public function type(){
return $this->belongsTo('App\Models\Copro\Type');
}
public function EtageLot(){
return $this->belongsTo('etage_lot','etage_lot_id');
}
}
Но каждый раз, когда я пытаюсь открыть страницу на своем сайте, которая использует одну из этих моделей, у меня появляется эта ошибка:
Объявление App \ Models \ Copro \ Lot :: newPivot (App \ Models \ Copro \ Eloquent $ parent, массив $ attribute, $ table, $ существующие) должно быть совместимо с Illuminate \ Database \ Eloquent \ Model :: newPivot (Подсветка \ База данных \ Eloquent \ Model $ parent, атрибуты $ array, $ table, $ существующие, $ using = NULL)
Я не нахожу что-то полезное, чтобы помочь мне. Я пытался переписать свои таблицы, но это не работает лучше.
Кто-то знает, почему у меня возникает эта ошибка и как использовать эту сводную таблицу, чтобы получить все дроби для квартиры, например?
Спасибо за вашу помощь.