Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 尝试更新某些字段在Laravel 6.0中不起作用_Php_Laravel_Postgresql - Fatal编程技术网

Php 尝试更新某些字段在Laravel 6.0中不起作用

Php 尝试更新某些字段在Laravel 6.0中不起作用,php,laravel,postgresql,Php,Laravel,Postgresql,*我试图从我的页面更新数据库的一些字段,但当我尝试时,它不会更新元素,只是删除它,我不知道为什么元素会被破坏而不更新它,我如何解决它* 下面我将让代码不更新信息和我的索引函数,因为代码在操作系统中,还有我的模型Entrada和表Entrada *索引函数* 公共功能索引请求$request、$id\u entrada、$id\u venta\u entrada、$id\u costo、$correo { $detalle_entrada=新的detalle_venta_entrada; $

*我试图从我的页面更新数据库的一些字段,但当我尝试时,它不会更新元素,只是删除它,我不知道为什么元素会被破坏而不更新它,我如何解决它*

下面我将让代码不更新信息和我的索引函数,因为代码在操作系统中,还有我的模型Entrada和表Entrada *索引函数*

公共功能索引请求$request、$id\u entrada、$id\u venta\u entrada、$id\u costo、$correo { $detalle_entrada=新的detalle_venta_entrada; $detalle_entrada->precio=$id_costo; $detalle_entrada->fk_venta_entrada=$id_venta_entrada; $detalle_entrada->fk_entrada=$id_entrada; $detalle_entrada->save; $ventas=新Venta; $ventas->monto_total=$id_costo; $now=new\DateTime; $ventas->fecha_venta=$now->format'd-m-Y'; $ventas->fk_客户_natural=1; $sub=DB::selectDB::rawSELECT precio_entrada from entrada,其中id_entrada='$id_entrada'; $subtotal=$sub[0]>precio_entrada; $monto=DB::selectDB::rawSELECT precio from detalle_venta_entrada,其中fk_venta_entrada='id_venta_entrada'; $monto_总计=$monto[0]>precio; $ventas->save; $id=DB::selectDB::rawselectmaxid\u venta作为venta\u id来自venta; $id_-venta=$id[0]->venta_-id; Entrada::where['id\u Entrada'=>id\u Entrada]->updatearray “可争议”=>“真实”, ; $detalle\u venta\u entrada=DB::selectDB::rawSELECT id\u detalle\u entrada,precio, 从entrada中选择numero_entrada,其中id_entrada=“$id_entrada”, 从venta_entrada中选择fecha,其中id_venta_entrada=“$id_venta_entrada”, 从venta_entrada中选择monto_total,其中id_venta_entrada=“$id_venta_entrada”和fk_cliente_natural=1, 从cliente_natural中选择primer_nombre,其中id_cliente_natural=1 来自detalle_venta_entrada,其中fk_venta_entrada='id_venta_entrada'和fk_entrada='id_entrada'; 返回视图“home.misOrdenes”->带有“detalle_venta_entrada”和$detalle_venta_entrada ->带“id_entrada”,$id_entrada ->加上'id_venta_entrada',$id_venta_entrada ->使用'detalle_entrada',$detalle_entrada ->带“小计”,小计$ ->加上“monto_总计”,monto_总计$ ->加上'id_venta',$id_venta ->加上'correo',$correo; } *不更新的代码*

Entrada::where['id\u Entrada'=>id\u Entrada]->updatearray “可争议”=>“真实”, ; *这是我的桌子*

创建表Entrada ID_Entrada序列号, 数字输入整数不为空, Precio_Entrada real不为空, 可争议的布尔值不为空, FK_事件整数不为空, 约束pk_ID_Entrada主键ID_Entrada, 约束fk_fk_Evento_Entrada foreign keyFK_Evento在更新级联的删除级联上引用EventoID_Evento ; *恩特拉达模型*

类Entrada扩展模型 { 受保护的$primaryKey='id_entrada'; 受保护的$table='entrada'; public$incrementing=false; 受保护的$fillable=['id_entrada'、'numero_entrada'、'precio_entrada'、'disponable'、'fk_evento']; public$timestamps=false; } 请尝试以下代码:

$response = Entrada::where(['id_entrada'=>$id_entrada])->first();
$response->disponible = 'true';
$response->update();

将您的代码更改为:并查看它是否有效

$detalle_entrada = new Detalle_venta_entrada();
$detalle_entrada->precio = $request->get('id_costo');
$detalle_entrada->fk_venta_entrada = $request->get('id_venta_entrada');
$detalle_entrada->fk_entrada = $request->get('id_entrada');
$detalle_entrada->save();

我相信你已经把恩特拉达模型放在了课堂的首位。如果否,则首先包括它,因为您已显式地为Detalle_venta_entrada和venta创建了新实例,而不是为entrada创建了新实例

确保$id\u entrada属性值是否正确传递给此方法

首先在修补程序中尝试以下代码

php artisan tinker
Entrada::其中'id_Entrada',$id_Entrada->first;如果您有一个where条件,因此被删除,则不需要[]

如果得到结果,则更新它

在更新任何数据之前,始终要有一个条件

乙二醇


代码有效,问题是我没有注意到,当我更新Entrada时,将其发送到我bd列表的底部,因此我认为它无效,因为我有很多寄存器,并且更改了更新的寄存器的位置。请解释您的代码的作用$响应->更新;将对代码中的模型实例毫无作用。请检查Entrada::where['id\u Entrada'=>$id\u Entrada]->first是否返回实例。只有当where子句与任何记录匹配时,它才会更新。我知道,您是否得到变量$id\u costo中的值
e检查变量$id_costoI的值`if Entrada::where['id_Entrada'=>$id_Entrada]->首先,我写了这段代码,因为我怀疑你是否得到了索引中的值。当我把它放在tinker上时,tinker说这个PHP注意:未定义的变量:Psy Shell代码中的id_entrada在第1行tinker有助于在我们编写任何代码entrada::where'id_entrada',3->first;将3替换为$id_entrada的实际值。。
php artisan tinker
$entradaData = Entrada::where('id_entrada', $id_entrada)->first();
if(filled($entradaData))
{
  Entrada::where('id_entrada', $id_entrada)->update(
        ['disponible'=>'true']
    );
}