【发布时间】:2015-12-05 15:51:59
【问题描述】:
我有以下关系模型设置:
- 用户
- 用户可以拥有多个职位
-
用户可以有多种员工类型
<?php namespace App\Models\User; use Illuminate\Auth\Authenticatable; use Illuminate\Database\Eloquent\Model; use Illuminate\Auth\Passwords\CanResetPassword; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; class User extends Model implements AuthenticatableContract, CanResetPasswordContract { use Authenticatable, CanResetPassword; /** * The database table used by the model. * * @var string */ protected $table = 'user'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = ['first_name', 'last_name', 'email', 'status', 'activation_code']; /** * The attributes excluded from the model's JSON form. * * @var array */ protected $hidden = ['password', 'remember_token', 'activation_code']; /** * The roles that belong to the user. * * @return Object */ public function roles() { return $this->belongsToMany('App\Models\User\Role')->withTimestamps(); } /** * The employee types that belong to the user. * * @return Object */ public function employeeTypes() { return $this->belongsToMany('App\Models\User\EmployeeType')->withTimestamps(); } /** * The job itles that belong to the user. * * @return Object */ public function jobTitles() { return $this->belongsToMany('App\Models\User\JobTitle')->withTimestamps(); } }
现在,我希望能够选择用户列表及其所有职位和员工类型。
我尝试过这样的事情,但没有这样的运气!请问有人能告诉我这是怎么可能的吗?
$this->user->whereIn('id', $ids)->jobTitles()->get();
上面的代码给出了错误:
调用未定义的方法 Illuminate\Database\Query\Builder::jobTitles()
【问题讨论】: