使用多个数据库连接时,Model :: create()会抛出异常

时间:2014-12-12 20:47:30

标签: laravel-4 eloquent

使用Eloquent和多个数据库插入新记录的正确方法是什么。

存在多个数据库的原因是因为每个分片上存在有限数量的用户数据。验证后,他们的分片会在目录中查找,所有进一步的查询都在他们的分片上进行。

运行时:

$user = User::on('user-shard1')->create(array('name' => 'John'));

抛出以下异常:

Call to undefined method Illuminate\Database\Query\Builder::create()

我们是否以正确的方式实施Eloquent?

1 个答案:

答案 0 :(得分:1)

您不能on使用create,因为Modelon上的静态方法,而Eloquent\Builder则返回$user = new User; $user->setConnection('user-shard1'); $user->fill(array(..)); $user->save();

所以改为:

{{1}}