在我的应用中有一种情况,我需要在访问关系时强制数据库WRITE连接。我该怎么办?
模型
class User extends Model
{
/**
* Get the phone record associated with the user.
*/
public function phone()
{
return $this->hasOne('App\Phone');
}
}
class Phone extends Model
{
/**
* Get the user that owns the phone.
*/
public function user()
{
return $this->belongsTo('App\User');
}
}
现在,我已经获得了这段代码:
$user = $request->user();
if ($user && $user->phone) {
// do something...
}
现在,我需要对此强制执行WRITE:$user->phone
。
我知道 onWriteConnection() 方法,但它返回一个Builder
对象,我无法使用->phone
关系。< / p>
我知道如何强制下面这样的东西吗?
// Warning: pseudo code!
if ($user && $user->onWriteConnection()->phone) {/*...*/}
答案 0 :(得分:0)
如果您使用多个Connection,请尝试使用此功能。 例如:
'read' => [
'host' => '192.168.1.1',
],
'write' => [
'host' => '196.168.1.2'
],
$user = DB::connection('write')->select(...);