函数包含非对象Laravel上的()

时间:2013-11-30 05:22:19

标签: php html laravel laravel-4

 $profiles = UserProfile::find(1)->user_id;
 if ($profiles->contains($uid)){
     // ...
 }

错误: Call to a member function contains() on a non-object

知道我做错了什么吗?我试图检查用户是否已经在表格中排了一行。

2 个答案:

答案 0 :(得分:3)

这是因为$profiles不是对象,因为你已经使用了

// returns "user_id" from the collection
$profiles = UserProfile::find(1)->user_id;

因此,$profiles包含字段user_id的值而非UserProfile对象的值。如果你使用

$profiles = UserProfile::find(1);

如果表格中有UserProfileid,它将返回1个对象。所以,你可以使用

if ( $profiles->contains($uid) ) {
    //
}

答案 1 :(得分:0)

我认为UserProfile::find(1)->user_id会返回数字字符串而不是对象 因为$profiles->contains($uid)不适合你。