gpt4 book ai didi

php - 如何在 laravel 中同时将数据保存在两个表中?

转载 作者:行者123 更新时间:2023-11-29 06:37:58 24 4
gpt4 key购买 nike

我有以下数据模式 enter image description here

Detalle_Servicio 有很多 Material_UsadoMaterial_Usado 只属于 Detalle_Servicio

当我在 Material_Usado 中保存值时应该知道 ID Detelle_Servido,但我做不到。我有以下代码

路线

Route::post('/upload', function(){

$path = public_path().'/servicios';
try{
$upload_success1 = Input::file('foto1')->move($path,'1');
$upload_success2 = Input::file('foto2')->move($path,'2');
$upload_success3 = Input::file('foto3')->move($path,'3');
$upload_success4 = Input::file('foto4')->move($path,'4');
}catch(Exception $e) {
$e->getMessage();
}
$input = Input::get('json');
$json = json_decode($input);

if($upload_success1 && $upload_success2 && $upload_success3 && $upload_success4) {
//DB::insert("INSERT INTO Detalle_Servicio (RutaFoto1, RutaFoto2, RutaFoto3, RutaFoto4, FechaTermino, Latitud, Longitud, Servicio_idServicio) values(?,?,?,?,?,?,?,?)", array($path.'1', $path.'2', $path.'3', $path.'4',$json->termino, $json->latitud, $json->longitud, $json->idServicio));
$entradas = array(
'RutaFoto1' => $path.'1',
'RutaFoto2' => $path.'2',
'RutaFoto3' => $path.'3',
'RutaFoto4' => $path.'4',
'FechaTermino' => $json->termino,
'Latitud' => $json->latitud,
'Longitud' => $json->longitud,
'Servicio_idServicio' => $json->idServicio
);
Detalle_Servicio::create($entradas);

$array = array('Code' => '202', 'Message' => 'Done');
return Response::json($array);
} else {
$array = array('Code');
return Response::json('error', 400);
}


});

你可以看到我得到了一个包含我存储在数据库中的值的 JSON

我将数据保存在 Detalle_Servicio 表的数据库中,但随后我需要将一些数据保存在 Material _Usado 中,但我需要保存时生成的 ID表 Detalle_Servicio

中的数据

型号

class Detalle_Servicio extends Eloquent{
protected $table = 'Detalle_Servicio';
protected $primaryKey = 'idDetalle_Servicio';
protected $fillable = array('RutaFoto1', 'RutaFoto2', 'RutaFoto3', 'RutaFoto4', 'FechaTermino', 'Latitud', 'Longitud', 'Servicio_idServicio');


public function servicio(){
return $this->belongsTo('Servicio', 'idServicio'); //le pertenece a
}
public function material_usado(){
return $this->hasMany('Material_Usado', 'idMaterial_Usado');
}
}

class Material_Usado extends Eloquent{
protected $table = 'Material_Usado';
protected $primaryKey = 'idMaterial_Usado';

public function detalleServicio(){
return $this->belongsTo('Detalle_Servicio', 'idDetalle_Servicio');
}
}

我该怎么做?

最佳答案

当你使用它时:

Detalle_Servicio::create($entradas);

它返回刚刚创建的模型实例,所以你应该这样做:

$Detalle_Servicio = Detalle_Servicio::create($entradas);

现在您可以使用以下方法获取创建的模型的 ID:

$Detalle_Servicio->id;

所以,你可以这样做:

if($Detalle_Servicio = Detalle_Servicio::create($entradas)) {
$id = $Detalle_Servicio->id;
// ...
}

关于php - 如何在 laravel 中同时将数据保存在两个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23276519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com