我在使用Laravel 5.1的Eloquent时遇到了问题。我有2个数据库,2个模型类使用不同的数据库(不是默认数据库)。 它适用于简单的CRUD,但是当我使用关系时,它会导致错误。
$list->users()->attach($nListUser->id, [
'entered' => $user->createdDate,
'modified' => date('Y-m-d H:m:s'),
]);
或者
$list->users()->detach($nListUser->id);
错误代码是
SQLSTATE [42S02]:找不到基表或视图:1146表 'sampledb.listuser'不存在(SQL:insert 进入
listuser
(entered
,listid
,modified
,userid
) 价值观(2012-06-17 18:34:58,52275,2016-01-18 02:01:46,6))
这是我的模型类文件。
class ListUser extends Model
{
protected $connection = 'listdbconnection';
protected $table = 'listuser';
public $timestamps = false;
}
class PList extends Model
{
protected $connection = 'listdbconnection';
protected $table = 'list';
public $timestamps = false;
public function users(){
return $this->belongsToMany('App\Model\User', 'listuser', 'userid', 'listid');
}
}
尽管我在上面设置了连接名称,但它仍然在默认数据库中找到该表。很明显,Eloquent正在研究默认的关系数据库。 有没有人解决这个问题?我错了还是这真的是Laravel 5.1 Eloquent的错?
答案 0 :(得分:0)
return $this->belongsToMany('App\Model\LUser', 'listuser', 'userid', 'listid');
我推荐Eloquent因为你可以在Laravel之外使用它。也许,是Web服务开发的不错选择。