0

私は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 UserWHERE UserId= '' LIMIT 1 なぜ?

強力なテキスト 申し訳ありませんが、関係の順序を間違えました 間違った方法で構成しました has_one と belongs_to 正しいコード 関係を反転させます

4

0 に答える 0