Laravel刀片中的空变量或空变量

时间:2019-09-24 19:58:20

标签: php laravel laravel-blade

我根据->paginate(20)的结果在服务器端创建两个数组( A1和A2 ),然后通过两个变量将主题发送到索引刀片。有时取决于内容的前20个帖子都是基于 A1 数组,因此页面返回错误未定义变量:A2

即使 A2 完全是null(并且不仅是由于分页),我还是希望在刀片中处理它,以便仅返回空值而不返回错误。

我尝试对刀片进行@if($A2)@if(!is_null($A2))@empty检查,但仍然发生相同的错误。

我还要在操作前在服务器端设置$A2="";,然后页面返回试图获取非对象的属性

1 个答案:

答案 0 :(得分:2)

听起来好像您的刀片服务器页面有多个调用queryset = get_objects_for_user(self.request.user, 'project.access_workspace') 变量的地方。您可以尝试查找所有内容,然后使用if $A2

但是,更简单的方法(可能对可读性和将来的代码更好)可能是将变量初始化为控制器上的任何集合类型。您对@if(isset($A2) { do something with $A2 }有一个正确的想法,但这是一个字符串,并且刀片页面上的代码正在寻找一个对象(您可能会调用类似$A2="";的对象)。

这是一个简单的示例-您可以清理它,但希望它可以使它易于理解。在您的 Controller 上,如下所示:

$A2->field

然后确保至少作为已初始化的模型对象发送到您的刀片页面。

$A2 = MyModel::find($someId);
if(!isset($A2)){
  $A2 = new MyModel();
}