我有两个表,'vehicles‘和'assign_vehicles’。每当我将车辆分配给驾驶员时,我希望'vehicles‘表中的'status’列被更新为'assigned‘。我该怎么做呢?
发布于 2021-10-08 13:21:06
有一些假设是要做的。您必须拥有类似于下面这样的类。
public class Vechicle extends Model {
public function assigned()
{
return $this->hasMany(AssignVehicle::class);
}
}
public class AssignVehicle {
public function vehicle()
{
return $this->belongsTo(Vehicle::class);
}
}您可以监视AssignVehicle事件并将其添加到您的引导方法中。将其添加到AssignVehicle.php类中。从那里访问车辆并更新状态。注意有一个creating and created事件,creating在保存到数据库之前,created在保存到数据库之后
public static function boot() {
parent::boot();
static::created(function (AssignVehicle $assignVehicle) {
$assignVehicle->vehicle->status = 'assigned';
$assignVehicle->vehicle->save();
});
}要触发此操作,请记住使用标准的Laravel方法来触发事件。下面的方法将会起作用。
AssignVehicle::create([
'vehicle_id' => $vehicle->id,
// your fields
])https://stackoverflow.com/questions/69495251
复制相似问题