for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Terranet\Administrator\Field\Traits;
use Terranet\Administrator\Architect;
use Terranet\Administrator\Contracts\Module;
trait HandlesRelation
{
/**
* @return mixed
*/
public function relation()
return \call_user_func([$this->model, $this->id]);
}
* Finds a module this relation belongs to.
*
* @return null|
public function relationModule(): ?Module
return Architect::resourceByEntity(
$this->relation()->getRelated()
);
* @param $relation
public function getForeignKey($relation)
if (method_exists($relation, 'getForeignKey')) {
return $relation->getForeignKey();
if (method_exists($relation, 'getForeignKeyName')) {
return $relation->getForeignKeyName();
throw new Exception("Unable to resolve foreign key.");
Terranet\Administrator\Field\Traits\Exception
Exception
\