在我的应用程序中,我有几个mysql表:Toronto,Vancouver,Montreal等...,并且我正在使用DB类与它们一起工作。
$data = DB::select('select * from toronto where id = ?', array($id));
我要做的是开始使用Eloquent。我是Laravel的新手,我只是想知道一个模型能否与多个表一起工作,如下所示:
class City extends Eloquent {
protected $table_a = 'toronto';
protected $table_b = 'vancouver';
protected $table_c = 'montreal';
}
最佳答案
它不能,但是可以。有很多方法,这是一种:
创建一个城市模型,在其构造函数中要求一个表名:
class City extends Eloquent {
public function __construct($city, array $attributes = array())
{
parent::__construct($attributes);
$this->table = $city;
}
}
要使用它,您必须使用表名实例化您的类:
$toronto = new City('toronto');
然后,您可以使用它做任何您想做的事情:
var_dump( $toronto->where('id',701057)->get() );