Laravel错误:试图获取非对象的属性

时间:2015-02-02 18:22:08

标签: php mysql laravel

我正在使用larvel 4.2并收到错误:试图获取非对象的属性

模型:User.php(即错误行)

foreach(self::with('project')->where('user_id', '=', $user->id)->get() as $row)
    {
    }

模型:User.php(我也有这些)

namespace Project;

class User extends \Eloquent {

protected $table  = 'projects_users';

/**********************************************************
* Methods to use with loaded User
**********************************************************/

/**
* @return User
*/
public function user()
{
    return $this->belongsTo('User', 'user_id')->orderBy('firstname', 'ASC');
}

/**
* @return Project
*/
public function project()
{
    return $this->belongsTo('Project', 'project_id')->orderBy('name', 'ASC');
}

不确定我为什么会收到此错误?任何想法?

1 个答案:

答案 0 :(得分:0)

http://php.net/manual/en/control-structures.foreach.php

  

foreach构造提供了一种迭代数组的简单方法。 foreach仅适用于数组和对象,并且当您尝试在具有不同数据类型或未初始化变量的变量上使用它时会发出错误。

您正在尝试迭代错误。您的查询返回一个布尔值。

首先回应您的查询,看看它返回的内容。

从你的模型来看,它似乎并没有错。