laravel eloquent を使用して 2 つのテーブルを結合したいと考えています。これはmysqlで簡単に実行できましたが、これを使用する方法がわかりません。
thisというモデルdevice.phpには、次のメソッドが含まれています。
public function wifi_client_connection(){
return $this->hasMany('UserFrosting\WifiClientConnection');
}
WifiClientConnection.phpしかし、という列を使用してモデルをリンクする必要がありますが、その列がありませmac_addressん。は、次のメソッドを使用して に変換されます。WifiClientConnectiondevice_uuidmac_addressdevice_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
助けてくれてありがとう