本文整理汇总了PHP中Illuminate\Database\Eloquent\Relations\Relation::getQualifiedOtherKeyName方法的典型用法代码示例。如果您正苦于以下问题:PHP Relation::getQualifiedOtherKeyName方法的具体用法?PHP Relation::getQualifiedOtherKeyName怎么用?PHP Relation::getQualifiedOtherKeyName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Illuminate\Database\Eloquent\Relations\Relation
的用法示例。
在下文中一共展示了Relation::getQualifiedOtherKeyName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getJoinKeys
/**
* Get the keys from relation in order to join the table.
*
* @param \Illuminate\Database\Eloquent\Relations\Relation $relation
* @return array
*
* @throws \LogicException
*/
protected function getJoinKeys(Relation $relation)
{
if ($relation instanceof HasOne || $relation instanceof MorphOne) {
return [$relation->getForeignKey(), $relation->getQualifiedParentKeyName()];
}
if ($relation instanceof BelongsTo && !$relation instanceof MorphTo) {
return [$relation->getQualifiedForeignKey(), $relation->getQualifiedOtherKeyName()];
}
$class = get_class($relation);
throw new LogicException("Only HasOne, MorphOne and BelongsTo mappings can be queried. {$class} given.");
}
示例2: getJoinKeys
/**
* Get pair of the keys from relation in order to join the table.
*
* @param \Illuminate\Database\Eloquent\Relations\Relation $relation
* @return array
*
* @throws \LogicException
*/
protected function getJoinKeys(Relation $relation)
{
if ($relation instanceof MorphTo) {
throw new LogicException("MorphTo relation cannot be joined.");
}
if ($relation instanceof HasOneOrMany) {
return [$relation->getForeignKey(), $relation->getQualifiedParentKeyName()];
}
if ($relation instanceof BelongsTo) {
return [$relation->getQualifiedForeignKey(), $relation->getQualifiedOtherKeyName()];
}
if ($relation instanceof BelongsToMany) {
return [$relation->getOtherKey(), $relation->getRelated()->getQualifiedKeyName()];
}
if ($relation instanceof HasManyThrough) {
$fk = $relation->getRelated()->getTable() . '.' . $relation->getParent()->getForeignKey();
return [$fk, $relation->getParent()->getQualifiedKeyName()];
}
}