如果将技术(Servicio
)的服务(Tecnico
)更改为其他技术,则会发生什么。我需要更新表调用Servicio_Tecnico
中的更改。我不怎么做
Tecnico模型
class Tecnico extends Eloquent{
protected $table = 'Tecnico';
protected $primaryKey = 'idTecnico';
protected $hidden = array('Contrasena');
protected $fillable = array(
'idTecnico',
'Nombre',
'Apellido',
'Telefono',
'Contrasena',
'Foto',
);
public function servicios(){
return $this->belongsToMany('Servicio', 'Servicio_Tecnico', 'Tecnico_idTecnico', 'Servicio_idServicio');
}
}
Servicio模型
class Servicio extends Eloquent{
protected $table = 'Servicio';
protected $primaryKey = 'idServicio';
protected $fillable = array(
'Direccion',
'RutaPDF',
'Completado',
'TipoUsuario',
'Zonal',
'RutaCliente',
'Prima'
);
public function tecnicos(){
return $this->belongsToMany('Tecnico', 'Servicio_Tecnico', 'Servicio_idServicio', 'Tecnico_idTecnico');
}
public function materialUsado(){
return $this->hasMany('MaterialUsado', 'Servicio_idServicio');
}
}
当我尝试更改
时,这是我的代码 $idTecnico_old = Input::get('idTecnicoViejo');
$idTecnico_new = Input::get('idTecnico');
$idServicio = Input::get('idServicio');
if($idTecnico_new != ''){
$servicio = Servicio::find($idServicio);
$tecnico = $servicio->tecnicos()->get();
$tecnico = $tecnico->find($idTecnico_old);
$tecnico->pivot->Tecnico_idTecnico = $idTecnico_new;
$tecnico->pivot->save;
}
请帮助
答案 0 :(得分:0)
您希望对数据透视表使用sync而不是save。
$servicio = Servicio::find($idServicio);
$servicio->tecnicos()->sync(array('Tecnico_idTecnico' => $idTecnico_new));
$servicio->update();