Laravel 5.4 из 5.3: ошибка getOtherKey ()

Я получал отношения как в laravel 5.3 и работал нормально:

//execute the relation of the given model
$data = $model->{$info["relation"]}();

// get the type of the relation
$class = get_class($data);
$dataType = explode("\\", $class);
$relationType = end($dataType);

$options["columns"][$key]["relationType"] = $relationType;

// if its a simple belongs-to statement
if($relationType == "BelongsTo") {

// get all belongs-to query info
$otherTable = $data->getRelated()->getTable();
$foreignKey = $data->getQualifiedForeignKey();
$otherKey = $data->getOtherKey();

// manually join using it
$retrievedRecords->leftJoin($otherTable . ' as ' . $info["relation"], $info["relation"] . '.' . $otherKey, '=', $foreignKey);

} else if($relationType == "HasMany" || $relationType == "HasOne") {

// get all has-many query info
$otherTable = $data->getRelated()->getTable();
$foreignKey = $data->getPlainForeignKey();
$parentKey = $data->getQualifiedParentKeyName();

// manually join using it
$retrievedRecords->leftJoin($otherTable . ' as ' . $info["relation"], $info["relation"] . '.' . $foreignKey, '=', $parentKey);

}

Теперь я скачал свежий laravel 5.4 и это дает мне ошибку:

Call to undefined method Illuminate\Database\Query\Builder::getOtherKey()

Как getOtherKey() существует в приведенном выше коде в if() раздел.

Есть ли альтернатива для этого?

0

Решение

getOtherKey метод был переименован в getOwnerKey, Таким образом, вы можете получить ключ владельца, сказав:

$ownerKey = $data->getOwnerKey();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]