У меня есть модель House
и модель energy_class
.Laravel Eloquent Relationship Undefinded Недвижимость
Дом имеет только один энергетический класс. Классы энергии могут быть назначены для нескольких домов. Поэтому я определил отношения, как это:
House.php
class House extends Model
{
public function energy_class()
{
return $this->hasOne('App\energy_class', 'id', 'energy_class');
}
}
energy_class.php
class energy_class extends Model
{
public function house()
{
return $this->belongsToMany('App\House');
}
}
При переходе дом данных к виду, как это:
$house = House::with('energy_class')->find($id);
return view('admin.houses.edit')->with('house', $house);
И ссылаясь на это на вид вот так:
$house->energy_class()->name
Я получаю эту ошибку: Undefined property: Illuminate\Database\Eloquent\Relations\HasOne::$name
Когда делают это так: $house->energy_class->name
я trying to get property of non-object
Можете ли вы показать имена таблиц и имена столбцов для базы данных. –
Таблицы: 'house',' energy_classes'. Столбцы: 'house.energy_class',' energy_classes.name' – Scarwolf