如果我返回x,它将显示带有其id的franchise_id列,如果我返回变量y,则将不显示任何内容。
$x = Unit::select('franchise_id')->where('id', $id)->first();
$y = Franchise::select('case_number')->where('id', $x)->first();
return $x;
我想更新专营权中等于专营权ID的专营权中的案例编号
答案 0 :(得分:0)
首先,您应该为变量命名更好一些。其次,您的情况下的$x
将是您的Unit
模型的实例。
您可以使用franchise_id
来访问$x->franchise_id
。最后,您可以使用它对Franchise
模型进行更新。
这是一个示例(更改了变量名)
$unit = Unit::select('franchise_id')
->where('id', $id)
->first();
Franchise::where('id', $unit->franchise_id)
->update([
'case_number' => 'xxx'
]);
如果您只想访问$unit
中特定行的值,那么以下操作也将起作用:
$unit = Unit::find($id)->value('franchise_id');
Franchise::where('id', $unit)
->update([
'case_number' => 'xxx'
]);
或者,考虑使用Eloquent Relationships进行此操作。
编辑:如果要检查$unit
是否为空,可以执行以下操作:
$unit = Unit::select('franchise_id')
->where('id', $id)
->first();
// If there's no unit, it will return null
// which means, you can just do the following
if($unit) {
Franchise::where('id', $unit->franchise_id)
->update([
'case_number' => 'xxx'
]);
}