Laravel仅在一页上抛出“未定义的变量”

时间:2019-11-18 18:42:59

标签: php laravel

我有一个页面,每个用户都有其个人资料,他们可以浏览并查看其创建的页面,称为“内部版本”。我有这个用户,userA,没有任何构建,一旦您进入他的个人资料,它就会得到以下异常:

ErrorException (E_ERROR)
Undefined variable: build (View: /var/www/html/example/resources/views/profiles/show.blade.php)
Previous exceptions
Undefined variable: build (0)

当我使用修补匠查找他时,该用户没有任何构建物:

>>> $user = App\User::where('username', 'userA')->first();
=> App\User {#3073
     id: 731,
     username: "userA",
     email: "email@example.com",
     email_verified_at: "2019-11-15 16:22:03",
     created_at: "2019-11-10 18:31:54",
     updated_at: "2019-11-15 16:22:03",
   }
>>> $user->builds;
=> Illuminate\Database\Eloquent\Collection {#3078
     all: [],
   }
>>>

我还有另一个用户,userB,但是当您转到他的个人资料时,也没有任何运行良好的构建,因此不会显示任何异常。这是tinke为userB返回的数据:

>>> $user = App\User::where('username', 'userB')->first();
=> App\User {#3066
     id: 1,
     username: "userB",
     email: "email@example.com",
     email_verified_at: "2019-10-08 20:51:32",
     created_at: "2019-10-03 00:44:02",
     updated_at: "2019-10-08 20:51:32",
   }
>>> $user->builds;
=> Illuminate\Database\Eloquent\Collection {#3061
     all: [],
   }
>>>

所以我有2个用户,没有任何版本。您可以查看userB的配置文件,但是userA由于某种原因引发异常。在我看来,我确保使用以下方法检查用户是否有任何构建版本:

@if($builds->isEmpty())
    User has not created any builds.
@else
    @foreach...

我已经有好几个星期没有遇到这种情况了,今天有个用户突然向我报告说他们无法查看其个人资料。有人知道是什么原因造成的吗?

1 个答案:

答案 0 :(得分:0)

也许您没有将模型绑定到模板?您是否正在返回类似我正在猜测的奇怪绑定问题

public function getUser ()
{
$user = User::where('username', 'userB')->first();

return view ('index')->with('user',$user);
}