doutany76678 2014-03-26 07:42 采纳率: 0%
浏览 24
已采纳

Laravel 4 Eloquent试图获得非物体的财产

Really sorry to bother you all, but I have a noob question concerning some code in a Laravel 4 Tutorial:

In this tutorial, we have to manage relationships between multiple tables. Here is the models codes:

<?php
class Auteur extends Eloquent
{
    public $timestamps = false;
    public function livres()
    {
        return $this ->hasMany('Livre');
    }
}

The other model:

<?php
class Livre extends Eloquent
{
    public $timestamps = false;
    public function auteur()
    {
         return $this ->belongsTo('Auteur');
    }
}

And when I call :

Route::any('DynEloquent',function()
{
    foreach(Livre::with('auteur')->get() as $livre)
    echo '"'.$livre->titre.'" a été écrit par '.$livre->auteur->nom.'<br>';
});

I have an ErrorException:Trying to get property of non-object apparently on $livre->auteur->nom.

Any help will be much appreciated since I've already tried to find my way in the official docs and other stuff like the similar questions on eloquent relationship. (even if I'm pretty sure I'm missing an easy thing)(Forgive my English since I'm french.)

Thanks.

Table auteurs: -id -nom -prenom -naissance

Table livres: -id -titre -auteur_id

展开全部

  • 写回答

1条回答 默认 最新

  • douyanxing6054 2014-03-26 07:50
    关注

    It looks like that your relation $livre->auteur is not returning any data, it's probably null, which is not an object and then you get the message Trying to get property of non-object. To be sure you can do:

    Route::any('DynEloquent',function()
    {
        foreach(Livre::with('auteur')->get() as $livre)
        {
           dd( $livre->auteur );
        }
    });
    

    You have to check tour relations, if they are really pointed to the correct $tables and your database table, to see if they are correctly filled with proper relational data.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部