1

我有 2 个对象。球员和比赛。Player 是 Match 的孩子。我想知道是否可以在不手动插入 id 的情况下同时创建这两个。

IE

$match = ORM::factory('match');

$player1 = ORM::factory('player');
$player2 = ORM::factory('player');

$player1->match = $match;
$player2->match = $match;

$match->save();
$player1->save();
$player2->save();

类似于 Ruby 中的 ActiveRecord

4

1 回答 1

0

就这个:

$match = ORM::factory('match');
// fill Match with values
$match->result = MATCH_RESULT_WIN;
$match->started = time();
// save before using!
$match->save();

$player1 = ORM::factory('player')->where('name', '=', 'Federrer')->find();
$player2 = ORM::factory('player')->where('name', '=', 'Nadal')->find();
$player1->match = $match;
$player1->save();
$player2->match = $match;
$player2->save();

请注意,在通过关系设置时,您应该使用已保存的 ORM 对象。

PS。你们的关系对吗?一个玩家可以打很多场比赛,所以我更喜欢另一种方案:

// Match belongs to player1&player2
$match->player1 = $player1;
$match->player2 = $player2;
$match->save();
于 2010-09-30T05:58:55.267 回答