laravel - 如何连接控制器雄辩的
问题描述
我不知道我的问题标题是否正确,但我会尝试在此处正确形成问题。
所以我在 laravel 中创建订单和客户管理系统,我正在努力将两个表和控制器相互连接。
我有两张桌子:
我也有带有存储功能的控制器“OrdersController”,这是一个源代码:
public function store(Request $request)
{
$this->validate($request, [
'customer'=>'required',
'date'=>'required',
'products'=>'required',
'phone'=>'required',
'country'=>'required',
'state'=>'required',
'city'=>'required',
'address1'=>'required',
'address2'=>'required',
'zip'=>'required',
'sold_price'=>'required',
'gross_price'=>'required',
'paypal_fee'=>'required',
'track_number'=>'required',
'track_price'=>'required',
'track_link'=>'required',
'currency'=>'required'
]);
$order = new Order;
$order->customer = $request->input('customer');
$order->date = $request->input('date');
$order->products = $request->input('products');
$order->phone = $request->input('phone');
$order->country = $request->input('country');
$order->state = $request->input('state');
$order->city = $request->input('city');
$order->address1 = $request->input('address1');
$order->address2 = $request->input('address2');
$order->zip = $request->input('zip');
$order->sold_price = $request->input('sold_price');
$order->gross_price = $request->input('gross_price');
$order->paypal_fee = $request->input('paypal_fee');
$order->track_number = $request->input('track_number');
$order->track_price = $request->input('track_price');
$order->track_link = $request->input('track_link');
$order->currency = $request->input('currency');
$order->save();
return redirect('/orders')->with('success', 'შეკვეთა წარმატებით დაემატა');
}
所以我想检查客户表中是否存在 $order->phone 的记录,如果存在则不要在客户表中创建新记录,如果不存在我想使用 $order-> 在客户表中创建新记录customer(客户姓名)和 $order->phone(客户电话)。
这是我的问题,我是初学者,这是我的第一个项目,如果这里有一些致命的错误,请告诉我。先感谢您!
解决方案
首先检查带有电话号码记录的客户表是否存在。我假设您的客户模型是客户
$customer = Customer::where('phone', '=', $request->input('phone'))->first();
if(!$customer){
create Customer here
}
$order = new Order;
$order->customer = $request->input('customer');
$order->date = $request->input('date');
$order->products = $request->input('products');
$order->phone = $request->input('phone');
$order->country = $request->input('country');
$order->state = $request->input('state');
$order->city = $request->input('city');
$order->address1 = $request->input('address1');
$order->address2 = $request->input('address2');
$order->zip = $request->input('zip');
$order->sold_price = $request->input('sold_price');
$order->gross_price = $request->input('gross_price');
$order->paypal_fee = $request->input('paypal_fee');
$order->track_number = $request->input('track_number');
$order->track_price = $request->input('track_price');
$order->track_link = $request->input('track_link');
$order->currency = $request->input('currency');
$order->save();
return redirect('/orders')->with('success', 'შეკვეთა წარმატებით დაემატა');
推荐阅读
- flutter - 如何在 Flutter CustomPainter 中使用贝塞尔曲线绘制自定义形状?
- r - 创建一个搜索栏以从 R Shiny 中的表中搜索值
- azure-data-explorer - 表中每个日期时间列的最小/最大值存储在范围中
- java - JVM Threaddump OnOutOfMemoryError 无法识别的选项
- spring-boot - Should we use @Scheduled together with controller method (like @PostMaping) in SpringBoot?
- shopify - 已解决:如何在安装时添加自定义应用程序的液体片段文件?
- python - 如何将 line.set_data 用于 matplotlib 中的二维数组数据?
- c++ - SFML draw 不透支板
- r - 如何将带有分隔数据的多列分隔为R中的多行?
- ios - Cmd+r 录制模拟器而不是在 React Native 中重新加载应用