私はIdiormとParisのライブラリをテストしましたが、カスタムforeign_keyとの関連付けを使用すると奇妙な動作を発見しましたこれはコードです
クラスユーザーはモデルを拡張します{
public static $_table = 'User';
public static $_id_column = 'UserId';
/*
* Associations
*/
public function department() {
return $this->has_one('Department','DepartmentId');
}
} クラス部門はモデルを拡張{
public static $_table = 'Department';
public static $_id_column = 'DepartmentID';
/*
* Association
*/
public function user() {
return $this->belongs_to('User','UserID');
}
データベース スキーマは変更できないため、カスタム外部キーは必須です。クエリ ログ テストの結果: $department= Model::factory('Department')->find_one(23); $user = $department->user()->find_many(); is: SELECT * FROM User
WHERE UserId
= '' LIMIT 1 なぜ?
強力なテキスト 申し訳ありませんが、関係の順序を間違えました 間違った方法で構成しました has_one と belongs_to 正しいコード 関係を反転させます