Laravel-没有问题显示直接插入记录,但保存在应用程序上的记录显示'试图获取非对象错误的属性'

时间:2015-10-10 14:34:58

标签: postgresql laravel

我正在laravel建立我的第一个项目:一个家谱。我有一个sql脚本来插入我现有的记录(db是postgres),我将有表格来添加/更新记录。

我看到一个奇怪的错误。我正在使用家庭的基本路线/模型绑定(没有什么花哨的),我可以查看所有家庭记录的索引,显示一个信息,编辑一个信息等等。所有这一切都适用于我的记录使用我的sql脚本插入,几乎所有这些都适用于我使用应用创建的新记录:新记录显示在索引中,我可以编辑它(例如:{{1} }),但当我尝试查看信息时(例如:families/5/edit),我得到一个'试图获取非对象属性'错误(参见最后的完整堆栈跟踪)这篇文章)。

我的第一个想法可能是一条相互冲突的路线,但我只是有这个(所有其他路线都使用不同的词):

families/5

商店方法只是:

Route::resource('families', 'FamilyController');

我的SaveFamilyRequest有规则确保有5个必填字段(但是新记录被添加到数据库中,因此必须通过才能到达存储记录)。

控制器中的show函数只显示该对象的show视图:

public function store(SaveFamilyRequest $request)
{
    $this->createFamily($request);
    return redirect('families');
}

show视图只是尝试显示{ public function show(Family $family) { return view ('family.show', compact('family')); } 对象

的所有内容

当我查看数据库中的记录时,一切看起来都很好(我从应用程序中保存的字段较少,但我跳过的字段都可以为空)。

有趣的是,我为{$family}}记录设置了完全相同的设置,而对于那些页面(包括展示视图)的,一切都适用于导入的人员记录和我添加的记录在应用程序上。

我还应该注意什么?

提前感谢任何帮助/线索!

堆栈追踪:

Person

1 个答案:

答案 0 :(得分:0)

(经过一天的各种变化后,相同的观点不再引发之前的错误,所以我要关闭这个问题,以免别人浪费时间)