Я думаю, вы немного смущены. В вашей модели вы фактически определяете отношение A page has many businesses
и говорите, что в таблице businesses
есть столбец business_id
, который Laravel попытался найти, но не смог, что привело к ошибке.
Функция hasMany
работает следующим образом:
// In the Post Model...
public function comments() {
return $this->hasMany('App\Comment', 'post_number');
}
Это делает соотношение A Post has many Comments
и заставляет Ларавела предположить, что таблица comments
имеет post_number
столбец .
Вы хотите показать несколько страниц для одной компании. Итак, A business has many Pages
. Для его кодирования ...
// In your BUSINESS model...
public function pages() {
// Notice that $this refers to the Business Model
return $this->hasMany('App\PageList', 'business_id');
}
Вы можете (но я думаю, что вы должны) опустить часть 'business_id'
. Это будет безопасно предполагаться по умолчанию.
И обратное отношение, A Page belongs to A business
, будет закодировано как ...
// In your PAGELIST model...
public function business() {
return $this->belongsTo('App\Business');
}