有没有办法检查是从数据库中检索Laravel模型还是在其构造函数中使用new
命令创建的?
我尝试使用$this->exists
,但在__construct
中,它始终返回false
...
这是代码:
function __construct($attributes = array())
{
parent::__construct($attributes);
$this->testVar = $this->exists;
}
答案 0 :(得分:0)
答案 1 :(得分:0)
只需在构造函数中调用该类中的正确函数: 构造:
public function __construct()
{
$this->model = $this->checkModel();
}
setter函数:
public function checkModel()
{
// do your staff
}
答案 2 :(得分:0)
根据您的评论,我认为您要做的是添加一个事件监听器,在创建Graph exploer
时创建Element
。
它可能看起来像这样(在你的Aircraft
雄辩模型中):
Aircraft.php
通过Eloquent创建新的protected static function boot()
{
static::created( function ($aircraft) {
Element::create([
'aircraft_id' => $aircraft->id,
]);
});
}
时,它会自动创建并关联Aircraft
。