gpt4 book ai didi

Laravel settable 无法按预期工作

转载 作者:行者123 更新时间:2023-12-04 23:57:54 25 4
gpt4 key购买 nike

编辑:只是为了节省时间,因为有些人会善意地添加回复但不阅读评论。看起来虽然我们可以动态设置表格并且它适用于获取和获取以及所有但它不适用于更新。

现在是原始问题:

我有一个关于动态表名的问题,我可以用我试过的代码来最好地解释它:这就是我的工作:

$ymodel = new \App\YCenter;
$ymodel->setTable('tableNo1');
$tops = $ymodel->take(10)->get();
var_dump($tops);

但这是我尝试过的:

$ymodel = new \App\YCenter;
$ymodel->setTable('tableNo1');

$ymodel->updateOrCreate(
['url' => 'heyhey','article_id' => 1],
['text'=>'texttext']
);

出现这个错误:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 
'mydatabase.y_centers' doesn't exist (SQL: insert into `y_centers`...

有什么想法吗?提前致谢。

编辑:想法是即时设置表格,这就是我这样做的原因。我不想在模型本身上设置表格。

最佳答案

一些 laravel 方法创建一个对象的新实例

这行不通:

 $someModel = new RunTimeObject();
$someModel->setTable('newTable');
return $someModel->all();

这是因为 all() 在后台创建了一个新的 someModel。如果您使用非静态方法:(例如 ->get() )

    $runtime = new RunTimeObject();
$runtime->setTable('newTable');
return $runtime->get();

它会起作用,所以你只能使用非静态方法

关于Laravel settable 无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41707996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com