Php 放置一个函数';将数据导入blade,laravel

Php 放置一个函数';将数据导入blade,laravel,php,laravel,laravel-blade,Php,Laravel,Laravel Blade,我的laravel控制器中的函数中有以下代码: try { return json_encode(FormBuilder::BuildOrderForm($dealer, $aa, $form)); } catch (OPSException $e) { return json_encode(['error' => $e->getUserMessage()]); } catch (Exception $e) { return json_encode(['err

我的laravel控制器中的函数中有以下代码:

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()]);
}
 public static function requesting($request){
        return 'error ' .$request;
    }
这将返回JSON对象中所需的数据。我正在尝试重新创建它,以便在我的laravel blade中的html代码中构建数据。将上述
FormBuilder::BuildOrderForm($dealer,$aa,$form)
放入我的刀片中的正确方法是:

@section('content')

<h3 style="font-size: 26px; padding: 10px 0;"> {{ <!-- This is where I need the data --> }} </h3>
<p class="uk-text-muted" style="font-size: 20px;" ></p>

<div class="uk-grid">
    <div class="uk-width-2-10">
        <ul style="margin: 0; padding: 0; list-style-type: none; float: left; width: 100%;">

        </ul>
    </div>
@endsection

您只是返回编码的数据,因此您必须看到一堆JSON(如果捕获任何异常,则会看到错误)

要显示任何数据,必须执行与在
show()
方法中相同的操作,即返回视图并渲染该特定视图或局部视图中的任何数据

请尝试以下操作:

public function store(Request $request) {

...

    try {

        $data = json_encode(FormBuilder::BuildOrderForm($dealer, $aa, $form));
        return view('Shop.Order.show')->with('data', $data);

    } catch (OPSException $e) {
        return $this->returnFromException($e->getUserMessage());
    } catch (Exception $e) {
        return $this->returnFromException($e->getMessage());
    }
}

public function returnFromException($error)
{
    $error = json_encode(['error' => $error]);
    return view('Shop.Order.show')->with('error', $error);
}
现在,在您的视图中,使用Blade可以显示如下数据:

@section('content')

    @if(isset($error))    
        <h3 style="font-size: 26px; padding: 10px 0;">{{ dd($error) }} </h3>
    @else if(isset($data))
        {{ dd($data) }}
    @endif
    <p class="uk-text-muted" style="font-size: 20px;" ></p>

    <div class="uk-grid">
        <div class="uk-width-2-10">
            <ul style="margin: 0; padding: 0; list-style-type: none; float: left; width: 100%;">

            </ul>
        </div>
    </div>

@endsection
@节(“内容”)
@如果(isset($error))
{{dd($error)}
@else if(isset($data))
{{dd($data)}
@恩迪夫

@端部
请注意,您必须在Blade视图中去掉
dd()
s,因为它会停止HTML呈现。您必须使用类似于
@foreach()
的方法来呈现数组或JSON

我希望这有帮助

干杯

<?php 

use App\Http\Controllers\ControllerName;
echo ControllerName::functionName();

 ?>
我从这个链接看到了代码

例如:

路线:

Route::get('checkTheTest', ['as' => 'checkrequest', 'uses' => 'MiscController@myTest']);
杂项控制员:

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()]);
}
 public static function requesting($request){
        return 'error ' .$request;
    }
刀片模板视图:

<?php
 use App\Http\Controllers\MiscController;
 echo MiscController::requesting('hello world'); ?> 

try块在代码中的什么位置?控制器?类?对不起,我的控制器的类。我和全班同学一起更新。但是是的,这是该视图的控制器OK。。。另一个问题。。。您正在访问哪个路由,控制器中的哪个方法绑定到该路由?名为routes.shop.php的路由是
/***构建订单*/route::post('Build','shop')\BuildOrderFormController@store')->name('shop.order.build')
方法是
存储
是显示表单时执行的路由,还是提交表单时执行的路由?您的意思是什么,请解释。我在上面添加了示例
error hello world