我相信这是一个非常简单的问题,但对于我的生活,我被困在这里-由于php的限制,我们正在使用laravel以外的雄辩。我有一个支持票跟踪应用程序,我正在尝试更新。此应用程序的数据结构是这样的:提交时为每个票证分配一个uuid,并生成一个以该uuid作为其名称的表,对票证的所有更改都作为该表中的新条目进行跟踪。
根据一些关于eloquent的教程,我设置了模型和控制器并使其工作,但是对于每一个,我看到我在模型本身中定义表名。我们的票型是
namespace Models;
use \Illuminate\Database\Eloquent\Model;
class Ticket extends Model {
protected $table = 'tickets';
protected $fillable = [table columns here];
}
在票证控制器中调用的任何东西都能正确地、成功地读写数据到我们的系统 tickets
table。
所以。。。我的问题是:如何读取/写入/创建/删除前面提到的uuid表?
我试过内置的表选择器(即- DB::table(uuid here)
以及 DB::setTable(uuid here)
但无济于事。我明白了 Fatal error: Call to undefined method Models\Database::setTable()
我想要的是一个模型/控制器,我可以为任何动态命名的表重用。
1条答案
按热度按时间1sbrub3j1#
您可以创建一个通用模型并动态设置表名,如下所示:
确保在使用前始终设置表名,否则将失败。出于同样的原因,也不要使用静态函数。