laravel 5.2 belongsTo 关系无效

laravel 5.2 belongsTo relation not work

我想从部门 table 获得一些额外的用户信息。

为什么不工作?

BadMethodCallException in Macroable.php line 81: Method division does not exist.

class AdminsController 扩展控制器

public function getUserIndex()
{
  $users = User::all()->division();
  dd($users);
}

class 用户扩展了 Authenticatable

public function division()
{
  return $this->belongsTo('App\Division', 'division_id');
}

class 部门扩展模型

public function users()
{
  return $this->hasMany('App\User');
}

用户table

$table->foreign('division_id')->references('id')->on('divisions')->onUpdate('cascade');

部门table

$table->increments('id');

division() 关系是为每个单独的 table 行定义的。通过在 all() 上调用它,您正在尝试获取所有行的关系。

您应该可以使用类似的东西:

public function getUserIndex()
{
    $users = User::all();
    foreach ($users as $user) {
        dd($user->division());
    }
}