Skip to content

Custom Foreign Key (Not Normalized Database Names) #282

@pdrappo

Description

@pdrappo

Hi everyone, i looking for some help solving a problem using Spot2. I have working in a project who has a database already made. The fields of the tables are not normalized, so i'm not able or i can't figure it out how to make a relation between two tables.
I want to connect People with Cities:

class Persona extends \Spot\Entity
{
    public static function fields()
    {
      return [
      ...
          "PERSONA_Id" => ["type" => "integer", "unsigned" => true, "primary" => true, "autoincrement" => true],
          "PERSONA_Nombre" => ["type" => "string", "length" => 255],
          "CODIGOPOSTALES_Id" => ["type" => "string", "length" => 50],
         ...
      ];
    }

    public static function relations(Mapper $mapper, Entity $entity)
    { 
      return [
        'localidad' => $mapper->belongsTo($entity, 'App\Entities\Sga\CodLoc', 'CODIGOPOSTALES_Id')
      ];
    }

}
class CodLoc extends \Spot\Entity
{
    public static function fields()
    {
      return [
          "id" => ["type" => "integer", "unsigned" => true, "primary" => true, "autoincrement" => true],
          "CodLoc" => ["type" => "string", "length" => 5],
          "DesLoc" => ["type" => "string", "length" => 250]
      ];
    }

}

When i fetch Persona with Persona_Id i want to get the correspondig City when CODIGOPOSTALES_Id = DesLoc"

How can i do this??
Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions