我希望有人帮忙解决这个问题,问候,我有一个数据透视表这个字段是什么只有其他表的公司,分支机构,部门,工作,雇员的ids
'id',
'company_id',
'branch_id',
'department_id',
'job_id',
'employee_id'
我想访问所有信息时,我只咨询一个我希望与thePivot()使用的注册表,但我不明白需要做什么我已经在模型Company.php中有这个
public function getAllInformation()
{
return $this->belongsToMany(Company::class, 'companies_branches_departments_jobs_employes', 'id', 'company_id');
}
在控制器中我有这个
public function index()
{
$items = Company::with('getAllInformation')->limit(1)->get();
$information =
[
'items' => $items,
'total' => count($items)
];
return $information;
}
这给了我第一家公司的信息和函数getAllInformation中的信息,但我想要所有这些
之前我在模型CompaniesBranchesDepartmentsJobsEmployes.php中有这个
public function company()
{
return $this->hasOne(Company::class, 'id', 'company_id');
}
public function branch()
{
return $this->hasOne(Branch::class, 'id', 'branch_id');
}
public function department()
{
return $this->hasOne(Department::class, 'id', 'department_id');
}
public function job()
{
return $this->hasOne(Job::class, 'id', 'job_id');
}
public function employee()
{
return $this->hasOne(Employe::class, 'id', 'employee_id');
}
而在控制器中
public function getAllInformation()
{
$items = CompaniesBranchesDepartmentsJobsEmployes::with('company', 'branch', 'department', 'job', 'employee')->limit(10)->get();
$inventory =
[
'items' => $items,
'total' => count($items)
];
return $inventory;
}
这给了我一个Json的所有信息,并且很好,但我想使用数据透视功能,因为是使用表数据透视工作的laravel的正确方法,我需要为var $ items中的所有信息创建一个数组,或者什么,任何帮助谢谢:D
您可以在模型中定义$ with array。
例
class Company extends Model {
$with = [
'company',
'branch',
...etc
];
}
而不仅仅是打电话
Company:limit(1)->get();