【发布时间】:2014-12-16 02:47:17
【问题描述】:
我在Client 和Addresses 之间有1:n 关系。一个客户端可以有多个地址。
我创建了以下模型:
class Client extends ModelBase
{
$this->hasMany("id", "ClientAddress", "client_id", array(
"alias" => "addresses"
));
class ClientAddress extends ModelBase
{
public function initialize()
{
parent::initialize();
$this->belongsTo("client_id", "Client", "id", array(
"alias" => "client"
));
$this->belongsTo("address_id", "Address", "id", array(
"alias" => "address"
));
}
class Address extends ModelBase
{
我想对 Address 执行一些 CRUD 操作。
我尝试创建一个新的Address 并使用以下方法将其链接到ClientAddress。它确实在Address 表中创建了记录,但它没有通过ClientAddress 表链接到它。
$client = Client::findFirst($current_client_id);
$address = new Address();
$address->setName( $this->request->getPost("name") );
$address->setAddress1( $this->request->getPost("address1") );
$address->setAddress2( $this->request->getPost("address2") );
$address->setSuburb( $this->request->getPost("suburb") );
$address->setState( $this->request->getPost("state") );
$address->setPostcode( $this->request->getPost("postcode") );
$address->setCountry( $this->request->getPost("country") );
$client->addresses = $address;
$client->save();
我在这里做错了什么?
【问题讨论】: