首页 > 解决方案 > Blade 不接受变量

问题描述

这是我的代码

var feetype="{{App\StudentFee::where('id', '2')->value('student_fee_type')}}";
console.log(feetype);

工作得很好。但是,当我尝试像这样修改它时

var fee_type_id = 2;
var feetype="{{App\StudentFee::where('id', fee_type_id)->value('student_fee_type')}}";
console.log(feetype);

它抛出以下错误

Use of undefined constant fee_type_id - assumed 'fee_type_id' (this will throw an Error in a future version of PHP)

我究竟做错了什么?

标签: laravel-5eloquentlaravel-blade

解决方案


PHP在服务器端运行。完成后,它生成的内容将下载到您使用的客户端javascript

因此,您的 javascript 变量将无法PHP在服务器上访问。

有一些变通方法可以让PHP变量使用。在这里,您可以找到此https://laravel.com/docs/5.8/routing#required-parameters的示例。

例如,您可以将其附加到您的路由/{fee_type_id}并在请求的 url 末尾传递变量。你可以添加你的代码

var feetype="{{App\StudentFee::where('id', $fee_type_id)->value('student_fee_type')}}";

只要您将变量传递到您需要的任何地方。

我希望这对你有用。


推荐阅读