在laravel中重构控制器以在另一个控制器中工作

时间:2017-11-03 16:27:46

标签: javascript php angularjs laravel

我试图从我们的laravel网站上的页面中移除角度,因为我们完全删除了角度。目前,我们在laravel中有一个控制器可以满足我们的需求,但过去有人使用角度模块和html模板来显示它。

目前,我需要采取这个控制器正在做的事情:

BuildOrderFormController.php

  public function store(Request $request) {
    $this->validate($request, [
        'dealer' => 'required|numeric',
        'form' => 'required',
    ]);

    // check to make sure this dealer can order from this formid
    $dealer = Input::get('dealer');
    $form = Input::get('form');

    $aa = FormBuilder::getcompanyfromform($form) + 0;

    $comp = CustomerDataNew::getcomp($dealer);

    if (!in_array($aa, $comp)) {
        return "Error: Dealer can't use this form";
    }

    try {
        return json_encode(FormBuilder::BuildOrderForm($dealer, $aa, $form));
    } catch (OPSException $e) {
        return json_encode(['error' => $e->getUserMessage()]);
    } catch (Exception $e) {
        return json_encode(['error' => $e->getMessage()]);
    }

并将其应用于此控制器:

OrderController.php

public function index()
{
    $forms = FormBuilder::Orderforms($this->dealer);
    return view('Shop.Order.index')->with('forms', $forms);
}

public function show($id)
{
    $cart_num = Access::getAttrValue('cart_num');
    if (!$cart_num) {
        $cart = 0;
    } else {
        $find_cart = Cart::find($cart_num);
        if ($find_cart  && $find_cart->orderform == $id) {
            $cart = $cart_num;
        } else {
            $cart = 0;
        }
    }
    return view('Shop.Order.show')
        ->with('dealer', $this->dealer)
        ->with('cart', $cart)
        ->with('form', $id);

}

store函数使用我们需要的订单表单数据构建json对象,我只需要在新控制器中使用它,因为控制器laravel正在使用它。

我已经将html模板复制到了laravel中的相应刀片,但是一旦弄清楚了,我需要在刀片中用foreach循环包装html,但是直到我得到这个修复我不要&# 39;不知道在foreach循环中使用哪些变量。

任何人都可以解释我如何重构buildorderformcontroller.php代码以便在另一个控制器中工作吗?

0 个答案:

没有答案