给定一个Laravel 5雄辩的模型,如何在一个查询中更新关系的所有模型?
我有一家有很多工作的模范公司。公司和作业表示mysql表 简化课程:给定一个Laravel 5雄辩的模型,如何在一个查询中更新关系的所有模型?,laravel,eloquent,Laravel,Eloquent,我有一家有很多工作的模范公司。公司和作业表示mysql表 简化课程: class Company extends Eloquent { public function jobs() { return $this->hasMany('App\Models\Job'); } } 我想在此类中添加一个函数,通过将每个作业的is\u active属性设置为0来停用公司的所有作业。使用查询生成器,我可以通过一个简单的更新查询来实现这一点。有没有一种方法可以在一
class Company extends Eloquent
{
public function jobs()
{
return $this->hasMany('App\Models\Job');
}
}
我想在此类中添加一个函数,通过将每个作业的
is\u active
属性设置为0
来停用公司的所有作业。使用查询生成器,我可以通过一个简单的更新查询来实现这一点。有没有一种方法可以在一个查询中使用模型/关系,而不是遍历每个作业?据我所知,没有理由不能在公司模型中使用作业模型。你喜欢这个工作吗
public function deactivateJobs()
{
App\Model\Job::where('company_id', $this->id)->update(['is_active' => false]);
}
据我所知,没有理由不在公司模式中使用工作模式。你喜欢这个工作吗
public function deactivateJobs()
{
App\Model\Job::where('company_id', $this->id)->update(['is_active' => false]);
}
您可以这样做:
$company = Company::first(); // Or some $company where you want to update the jobs
$company->jobs()->update(['is_active' => 0]);
如果调用$company->jobs()
,它将返回查询对象,您可以在其上链接查询方法
然后该方法将如下所示:
public function deactivateJobs()
{
return $this->jobs()->update(['is_active' => 0]);
}
您可以这样做:
$company = Company::first(); // Or some $company where you want to update the jobs
$company->jobs()->update(['is_active' => 0]);
如果调用$company->jobs()
,它将返回查询对象,您可以在其上链接查询方法
然后该方法将如下所示:
public function deactivateJobs()
{
return $this->jobs()->update(['is_active' => 0]);
}