2

PHP ActiveRecordを使用していて、次のようなモデルがある場合:

class Message extends ActiveRecord\Model {
    static $belongs_to = array(
        array("user")
    );
}

class User extends ActiveRecord\Model {    
    static $has_one = array(
        array("message")
    );    
}

次に、次のようなものとの関連付けに追加できます。

$message = $user->create_message();

has_manyあなたが関係を持っているときはどうですか:

class User extends ActiveRecord\Model {    
    static $has_many = array(
        array("messages")
    );    
}

以前は機能しません。関連付けに追加するために私が見つけることができる唯一の有効な方法は次のとおりです。

$message = new Message();
$message->user_id = $user->id;
$message->save();

これは私にとって醜いクラッジのように感じます. 次のようなものが機能することを期待しています:

$message = new Message();
$message->user = $user;
$message->save();

また:

$message = new Message();
$user->messages[] = $message;
$user->save();

これらはどちらも機能しません。has_manyPHP ActiveRecord との関連付けに追加する適切な方法は何ですか?

4

0 に答える 0