我要做的是先创建模型上的属性(活动),然后创建它。
我想避免使用活动用户的此硬编码代码:
$user["firstname"] = "John";
$user["lastname"] = "Doe";
$user["active"] = 1;
UserModel::create($user);
我想要类似的东西
$user["firstname"] = "John";
$user["lastname"] = "Doe";
UserModel::active()->create($user);
在幕后,我想使用active()方法将“活动”列/属性设置为1。 我该怎么办?
答案 0 :(得分:0)
模型的make
函数可在内存中创建模型,并且可以将其保存到数据库中
所以您可以做的是:
$newUser["firstname"] = "John";
$newUser["lastname"] = "Doe";
UserModel::make($newUser)->activate()->save();
您的active
函数如下所示:
public function activate()
{
$this->active = 1;
return $this;
}
通过这种方式,可以在内存中创建用户,然后将其设置为活动状态,然后存储在数据库中。
如果要在保存之前对用户做更多事情,可以这样:
$newUser["firstname"] = "John";
$newUser["lastname"] = "Doe";
$activeUser = UserModel::make($newUser)->activate();
//do stuff with $activeUser;
$activeUser->save();