php - Laravel firstOrNew() 函数更新现有记录但不保存新记录
问题描述
下面的代码应该使用相同的按钮更新和保存weekly_item。更新工作正常。我已经在数据库中手动添加了一条记录并对其进行了更新。但是当谈到保存功能而不是保存数据时。
public function store(){
$WeeklyItems = weekly_item::firstOrNew(['item_id'=>request('item_id')],
['restaurant_id'=>request('restaurant_id')],
['avil_date'=>request('avile_date')],
['start_time'=>request('start_time')]
);
$WeeklyItems->item_id = request('item_id');
$WeeklyItems->restaurant_id = request('restaurant_id');
$WeeklyItems->start_time=request('start_time');
$WeeklyItems->end_time=request('end_time');
$WeeklyItems->tiffin=request('tiffin-switch');
$WeeklyItems->lunch=request('lunch-switch');
$WeeklyItems->snacks=request('snacks-switch');
$WeeklyItems->dinner=request('dinner-switch');
$WeeklyItems->special=request('special-switch');
$WeeklyItems->extend=request('extend-avil');
$WeeklyItems->unit=request('unit');
$WeeklyItems->quantity=request('quantity');
$WeeklyItems->avil_date=request('avil_date');
$WeeklyItems->save();
editWeeklyItem(request('item_id'),request('restaurant_id'));
}
解决方案
我受够了。尝试了所有内置函数(firstOrNew、firstOrCreate...等)但失败了。现在我使用两种不同的方法进行创建和更新操作。保存操作工作正常。但是更新方法不起作用。有人请
public function updateWeeklyItem(){
$item_id=request('item_id');
$restaurant_id=request('restaurant_id');
$avil_date=request('avil_date');
weekly_item::where(function($query) use ($item_id, $restaurant_id,$avil_date){
$query->where('item_id', $item_id)
->where('restaurant_id', $restaurant_id)
>where('avil_date', $avil_date);
})->update ([
'start_time'=>request('start_time'),
'end_time'=>request('end_time'),
'tiffin-switch'=>request('tiffin-switch'),
'lunch-switch'=>request('lunch-switch'),
'snacks-switch'=>request('snacks-switch'),
'dinner-switch'=>request('dinner-switch'),
'special-switch'=>request('special-switch'),
'extend-avil'=>request('extend-avil'),
'unit'=>request('unit'),
'quantity'=>request('quantity')
]);
editWeeklyItem(request('item_id'),request('restaurant_id'));
}
推荐阅读
- git - git:如何忽略最后一次提交?
- angular - 在单击事件上两次更新单个组件的角度元标记/数据
- sql - 使用表单中的文本框更新一组数据值
- javascript - 在 useEffect 中执行代码之前等待 axios 响应
- css - 拒绝在闪电中应用样式,因为 MIME 类型(html/css)不是受支持的样式
- ios - 为什么在 IOS 上运行时无法在运行时通过 Resource.LoadAll() 加载资产,但在 OS X 上加载正常?
- c# - 签署 xml 不会添加 XmlDsigC14N11Transform 标记,而是默认 REC-xml-c14n-20010315 c#
- c# - OpenTK UV 问题
- java - 文档快照.toObject(
) 不工作 - dart - 我该如何处理“未捕获的错误”?(飞镖新手的问题)