首页 > 解决方案 > 如何连接控制器雄辩的

问题描述

我不知道我的问题标题是否正确,但我会尝试在此处正确形成问题。

所以我在 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(客户电话)。

这是我的问题,我是初学者,这是我的第一个项目,如果这里有一些致命的错误,请告诉我。先感谢您!

标签: laravel

解决方案


首先检查带有电话号码记录的客户表是否存在。我假设您的客户模型是客户

$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', 'შეკვეთა წარმატებით დაემატა');

推荐阅读