3 回答
TA贡献1815条经验 获得超10个赞
您可以通过将变量传递给预先加载和更新您的关系结构来实现这一点。试试这个
User 模型:
class User extends Authenticatable
{
///
public function obtainLoggedOnCompany()
{
return $this->belongsToMany('App\Company', 'user_company', 'user_id', 'company_id');
}
}
Company 模型:
class Company extends Model
{
///
public function profile()
{
return $this->hasOne('App\Profile', 'company_id');
}
}
Example 一个用例:
$user_id = 1;
$user = User::where('id', $user_id)->with(['company' => function($query) use ($user_id) {
return $query->with(['profile' => function($query2) use ($user_id) {
return $query2->where('user_id', $user_id);
}]);
}])->first();
// $user variable contains user details, company details, and profile
TA贡献1946条经验 获得超3个赞
实际上,这句话完美无缺!:
public function obtainSelectedProfile()
{
$SelectedCompany= $this->obtainLoggedOnCompany->first();
return $this->hasMany('app\Profile','user_id')->where('company_id', '=',
$SelectedCompany->company_id);
}
在我看来,我的错误在别处!
尽管我认为在将数据传递给视图之前在控制器上准备数据是更好的做法,因为每次我想从视图中的用户配置文件中获取数据时,我都必须查询服务器。
- 3 回答
- 0 关注
- 185 浏览
添加回答
举报