Đây là mô hình của tôi:Cập nhật tên bảng trong thời gian chạy không hoạt động - laravel hùng biện ORM
class Product extends \GlobalModel {
protected $table = 'product';
}
Tôi muốn cập nhật tên bảng oops_product thay sản phẩm khi chạy.
Tôi tìm thấy getTable(); để có được tên bảng từ mô hình và làm việc của mình tốt:
$tableName = with(new Product)->getTable();
Nhưng khi tôi đặt tên bảng sử dụng settable(); theo giải pháp GitHub, nó không cập nhật tên bảng.
with(new Product)->setTable("oops_produdct");
Có gì không ổn?
Trợ giúp sẽ được đánh giá cao.
chỉnh sửa:
$product = new Product();
$product->getTable(); // output: product
$product->setTable("oops_product");
$product->getTable(); // output: oops_product
bây giờ khi tôi chạy này
$product->all();
nó thực thi
"select * from product"
thay vì
"select * from oops_product"
vì lĩnh vực $ bảng là 'protected' –
cố gắng này cũng nhưng không làm việc. –
và bạn đã mở rộng lớp Eloquent thay vì \ GlobalModel?! –