在我的应用程序中,我有几个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() );

09-03 17:14