这是我的模特:
class Product extends \GlobalModel {
protected $table = 'product';
}
Run Code Online (Sandbox Code Playgroud)
我想在运行时更新表名oops_product而不是product.
我找到了getTable(); 从模型中获取表名称及其工作正常:
$tableName = with(new Product)->getTable();
Run Code Online (Sandbox Code Playgroud)
但是当我使用setTable()设置表名时; 根据GitHub解决方案,它不更新表名.
with(new Product)->setTable("oops_produdct");
Run Code Online (Sandbox Code Playgroud)
有什么不对的吗?
帮助将不胜感激.
编辑:
$product = new Product();
$product->getTable(); // output: product
$product->setTable("oops_product");
$product->getTable(); // output: oops_product
Run Code Online (Sandbox Code Playgroud)
现在,当我运行这个
$product->all();
Run Code Online (Sandbox Code Playgroud)
它执行
"select * from product"
Run Code Online (Sandbox Code Playgroud)
代替
"select * from oops_product"
Run Code Online (Sandbox Code Playgroud)