Php 放置一个函数';将数据导入blade,laravel
我的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
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