laravel雄弁を使って2つのテーブルを結合したいと思います。私は簡単にmysqlでこれを行うことができますが、これを使用して考えていない。Laravel Eloquentは2つのテーブルを結合します
私は、これは以下の方法が含まdevice.php
モデルと呼ばれています:
public function wifi_client_connection(){
return $this->hasMany('UserFrosting\WifiClientConnection');
}
をしかし、私は列を使用してWifiClientConnection.php
モデルをリンクする必要がmac_address
と呼ばれるが、WifiClientConnection
doesntのは、それがdevice_uuid
という列があり、その列を持っています。 mac_address
は、以下の方法を使用してdevice_uuid
に変換される:MySQLで
public function getDeviceUUID(){
return hex2bin(md5($this->mac_address . $this->number));
}
が、私はこのように一緒に2つのテーブルを結合:
LEFT OUTER JOIN device ON wifi_client_connection.device_uuid = UNHEX(MD5(CONCAT(device.mac_address, device.number)))
は、どのように私はその使用Laravel雄弁ような何かを行うことができます。
私もWifiClientConnection.php
モデルで、私はこの方法で持っているので、ラウンドの関係に他の方法が必要です:
public function device(){
return $this->belongsTo('UserFrosting\WifiClientConnection');
}
をしかし、再び、私は仕事にこの関係のためにmac_address
にdevice_uuid
を変換する必要があります
助けをありがとう
[Laravel QueryBuilder - 参加] – Eric
あなたの質問は少し不明である(https://laravel.com/docs/5.5/queries#joins) - あなたは、この上に2つのテーブルを結合したいと言っています変換された列?この方法で結合しようとするのではなく、代理外部キーを使用することをお勧めします。 – alexw