Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉维包含关系的关系_Php_Laravel_Relation - Fatal编程技术网

Php 拉维包含关系的关系

Php 拉维包含关系的关系,php,laravel,relation,Php,Laravel,Relation,我有亲戚关系 Trainee->hasMany->Poke Company->hasMany->Poke Poke->belongsTo->Trainee Poke->belongsTo->Company 现在,我想检查受训者是否包含公司的戳。我怎样才能做到最干净?我更喜欢像$traineer->containsPokeFrom($company)这样的东西因为我在我的刀片文件中使用了这个选项,但如果不是这样的话,那么就可以了。您可以使用wit

我有亲戚关系

Trainee->hasMany->Poke
Company->hasMany->Poke

Poke->belongsTo->Trainee
Poke->belongsTo->Company

现在,我想检查
受训者是否包含
公司
。我怎样才能做到最干净?我更喜欢像
$traineer->containsPokeFrom($company)这样的东西因为我在我的刀片文件中使用了这个选项,但如果不是这样的话,那么就可以了。

您可以使用
with()
方法获取数据

例如:

public function getTrainee()
{
    return Trainee::with('Poke.Company')->get();
    // Here you will find all trainee which associated with multiple pokes which belongs to a company
}

您可以使用
with()
方法获取数据

例如:

public function getTrainee()
{
    return Trainee::with('Poke.Company')->get();
    // Here you will find all trainee which associated with multiple pokes which belongs to a company
}

您可以在
pokes
关系方法上使用
exists()
方法:

班级学员扩展模型
{
公共功能戳()
{
返回$this->hasMany(Poke::class);
}
公共功能包含SpokeFrom(公司$Company)
{
返回$this->pokes()->(函数($poke)使用($company)的位置{
$poke->where('company_id',$company->getKey());
})->存在();
}
}

您可以在您的
pokes
关系方法上使用
exists()
方法:

班级学员扩展模型
{
公共功能戳()
{
返回$this->hasMany(Poke::class);
}
公共功能包含SpokeFrom(公司$Company)
{
返回$this->pokes()->(函数($poke)使用($company)的位置{
$poke->where('company_id',$company->getKey());
})->存在();
}
}

我想检查某个特定的实习生是否与某个特定公司的员工有关系。像
受训者A从公司B那里得到了一笔款子
。或者
公司A是否已经向实习生B进行了戳戳戳?我想检查特定的实习生是否与特定公司的戳戳有关系。像
受训者A从公司B那里得到了一笔款子
。或者
A公司已经对B实习生进行了戳戳吗
?谢谢,你是个天才@谢谢。不是天才,只是跟拉威尔有点合作的人:)@MartinBean你能解释一下为什么这里需要
where()
with
closure
吗?@IndianCoding将戳限制在指定的公司内。否则它会把每个公司的实习生的刺都还给你。谢谢,你是个天才@谢谢。不是天才,只是跟拉威尔有点合作的人:)@MartinBean你能解释一下为什么这里需要
where()
with
closure
吗?@IndianCoding将戳限制在指定的公司内。否则,它将从每个公司退回受训者的戳戳。