laravel eloquent を使用して 2 つのテーブルを結合したいと考えています。これはmysqlで簡単に実行できましたが、これを使用する方法がわかりません。
thisというモデルdevice.php
には、次のメソッドが含まれています。
public function wifi_client_connection(){
return $this->hasMany('UserFrosting\WifiClientConnection');
}
WifiClientConnection.php
しかし、という列を使用してモデルをリンクする必要がありますが、その列がありませmac_address
ん。は、次のメソッドを使用して に変換されます。WifiClientConnection
device_uuid
mac_address
device_uuid
public function getDeviceUUID(){
return hex2bin(md5($this->mac_address . $this->number));
}
MySQL では、次のように 2 つのテーブルを結合します。
LEFT OUTER JOIN device ON wifi_client_connection.device_uuid = UNHEX(MD5(CONCAT(device.mac_address, device.number)))
Laravel Eloquent を使用してそのようなことを行うにはどうすればよいでしょうか。
逆の関係も必要なので、WifiClientConnection.php
モデルには次の方法があります。
public function device(){
return $this->belongsTo('UserFrosting\WifiClientConnection');
}
しかし、この関係を機能させるには、device_uuid
をに変換する必要がありますmac_address
助けてくれてありがとう