[英]Laravel fromTable not working on model updateOrCreate function
我试图在使用更新或创建功能时更改模型的表,但它始终使用默认的数据库表,即“支出”。我正在尝试使用fromTable函数将表更改为“天际”。
$cluster_payout = 'skyrim';
$user_payout = Payout::fromTable($cluster_payout)->updateOrCreate(
['user_id' => 1],
['game_id' => 1, 'locked' => 1]);
执行代码后,它将使用“支出数据库”和“支出表”。
如果我做
Payout::fromTable($cluster_payout)->first();
它将使用带有Skyrim表的Payout数据库。 有任何想法吗?
您尝试过这种方式吗?
(new Payout)->setTable($cluster_payout)
->updateOrCreate(
['user_id' => 1],
['game_id' => 1, 'locked' => 1]
);
通过执行以下操作修复了该问题:
$payout_cluster['payout'] = 'skyrim';
$payout = (new Payout)->setTable($payout_cluster['payout'])->where('user_id', $user_id)->first();
if(!$payout) {
$payout = (new Payout)->setTable($payout_cluster['payout']);
$payout->fill(['user_id' => $user_id,'cluster_id' => $cluster_id,'game_id' => $game_id,'locked' => $status]);
$payout->save();
}else{
$payout->setTable($payout_cluster['payout']);
$payout->user_id = $user_id;
$payout->cluster_id = $cluster_id;
$payout->game_id = $game_id;
$payout->locked = $status;
$payout->update();
return($payout);
}
我使用了@ Adoudeh87的代码并将其改编成自己的代码。 谢谢A c:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.