Почему я получаю эту ошибку для такого простого запроса отношения?Плохое отношение
Call to undefined method Illuminate\Database\Query\Builder::country()
Я просто хочу, чтобы получить список значений подстановок из моей таблицы поиска под названием pc_country
. Я даже включил пространства имен!
Контроллер;
$tableName = $postcode_tablename->dataset; //eg 201502_postcode
$country = PostcodeExtract::fromTable($tableName)
->country() //this is generating the error!
->distinct()
->select('description')
->get();
var_dump($country);
exit;
Модель страны;
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Country extends Model {
protected $connection = 'postcodes';
public $table = 'pc_country';
protected $fillable = ['description', 'country_id', 'code'];
public function postcodeExtract()
{
return $this->hasMany('App\Models\PostcodeExtract');
}
}
PostCode Extract Model;
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class PostcodeExtract extends Model {
protected $connection = 'postcodes';
protected $fillable = ['country'];
public function scopeFromTable($query, $tableName)
{
return $query->from($tableName);
}
public function country()
{
return $this->belongsTo('App\Model\Country');
}
}
Моя 201502_postcode
таблица имеет country_id
и мой pc_country
таблица имеет id
поле для того, чтобы сделать поиск на. Это верно? Я не вижу проблемы ...