php - 如何更新从 Laravel 中的 N 到 N 关系创建的表的外键?

标签 php mysql laravel laravel-4

发生的事情是将技术 (Tecnico) 的服务 (Servicio) 更改为其他技术。我需要更新表调用 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');
}
}

服务模型

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;

    }

请帮忙

最佳答案

您想对数据透视表使用同步而不是保存。

$servicio = Servicio::find($idServicio);
$servicio->tecnicos()->sync(array('Tecnico_idTecnico' => $idTecnico_new));    
$servicio->update();

关于php - 如何更新从 Laravel 中的 N 到 N 关系创建的表的外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24542258/

相关文章:

php - 将数据从 php 文件获取到 Android 应用程序

在 ubuntu 12.04 上更改临时目录后,Mysql 无法启动

php - 如何显示所有字段,同时对它们进行求和并显示?

php - Laravel:未找到 Eloquent/Tinker 类

javascript - 使用 Ajax 提交表单和字符串

php - 如何让 Node.js 高效处理多个请求?

php - PHP MySQL 中的 JOIN 问题

MySQL:从子查询到单个查询

php - laravel 一起使用 with() , pluck()

php - Laravel 数据库排队作业尝试