我希望有人对此有所帮助,考虑到,我有一个数据透视表,其中包含哪些字段,这些字段仅是其他表的ID(公司,分支机构,部门,工作,雇员)
'id',
'company_id',
'branch_id',
'department_id',
'job_id',
'employee_id'
当我只查询一个我想使用withPivot()的注册时,我想访问所有信息,但是我不知道需要做什么,我已经在Model.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中的信息,但我要全部
在我在Model 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
答案 0 :(得分:0)
您可以在模型中定义$ with数组。
示例
class Company extends Model {
$with = [
'company',
'branch',
...etc
];
}
不仅仅是打电话给
Company:limit(1)->get();