刀片不接受变量

时间:2019-04-17 08:48:07

标签: laravel-5 eloquent laravel-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)

我在做什么错了?

2 个答案:

答案 0 :(得分:0)

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

的客户端

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

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

例如,您可以将此内容附加到路由/{fee_type_id}上,并在请求的网址末尾传递变量。您可以在其中添加代码

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

提供了将变量传递到所需位置的地方。

我希望这对您有用。

答案 1 :(得分:0)

您没有在引号中转义短语fee_type_id,因此它用作常量,但该常量未定义。您可能打算传递变量$fee_type_id

但是,实际上,您应该将所需的内容传递到刀片视图中,而不是在视图中执行雄辩的模型数据库查询。