Php 除掉;试图获取非对象的属性“;使用Auth::user()->;拉威尔的身份证

Php 除掉;试图获取非对象的属性“;使用Auth::user()->;拉威尔的身份证,php,laravel-4,Php,Laravel 4,我正在Laravel制作一个工作流应用程序 用户可以CRUD任务、项目、用户和组织 用户可以完成大约16-20个屏幕/功能 我使用Auth::user()->id来确定当前用户是谁,并获取他们的任务、项目等 如果有访问者登录,这将非常有效 如果站点的访问者未登录,Laravel将返回一个大的黑色和橙色堆栈转储,错误为“尝试获取非对象的属性” 我如何设计它,以便在访问者登录时,Laravel返回一个包含他们(比如)打开的任务的表,如果他们没有登录,它返回一个空表的页面?withAuth::chec

我正在Laravel制作一个工作流应用程序

用户可以CRUD任务、项目、用户和组织

用户可以完成大约16-20个屏幕/功能

我使用
Auth::user()->id
来确定当前用户是谁,并获取他们的任务、项目等

如果有访问者登录,这将非常有效

如果站点的访问者未登录,Laravel将返回一个大的黑色和橙色堆栈转储,错误为“尝试获取非对象的属性”

我如何设计它,以便在访问者登录时,Laravel返回一个包含他们(比如)打开的任务的表,如果他们没有登录,它返回一个空表的页面?

with
Auth::check()


我终于找到了解决办法。如果您更改了用户表主键,则laravel默认接受id作为其Auth表的主键,并按如下方式修改模型


添加此受保护的
$primaryKey='your_custom_primary_key'

你好,SamV。我在几个视图中都有这样的逻辑,以确定视图是否应该(比如)显示登录表单或登录的用户名。今天我将在控制器和/或模型中进行试验。@AndrewOper不要将其放在模型中,请在路由筛选器或控制器中使用它。我建议使用带有auth过滤器的路由组。因此,如果用户没有登录,它会将他们重定向到公共区域。看看这里:但问题是:我不想要一个我认为会在访问者登录时呈现页面的路由过滤器,如果访问者没有登录,它会将访问者重定向到登录页面。对于我和这个应用程序来说,让非用户看到可用的功能以及应用程序的易用性和转化为用户是非常重要的。@AndrewOper好的,做你认为最好的事情-我假设唯一的方法是控制器/视图。很好,我有这个问题,但是在我的表中有
Id
,在laravel脚本中有
Id
if (Auth::check()) {
    // The user is logged in...
    // Maybe add a Redirect::to()
} else {
    // User is not logged in...
}