簡體   English   中英

帶有Codeigniter的Datamapper可保存多對多關系

[英]Datamapper with codeigniter save many to many relationship

我有三個表company,group和company_group。

我在保存公司的同時從職位中獲取價值。

在我的公司表格中,我有多個選擇框,其中有一個組列表。

我的公司正在正確保存,但是現在我想在company_group表中添加最后插入的公司ID和所選組的記錄。

我已經在模型公司和組中都設置了has_many,但是無法在company_group表中保存多個記錄,因此可以幫助我。

公司模式

class Company extends DataMapper {
var $has_one=array("group");
function __construct() {
   parent::DataMapper();
}
}

組模型

class Group extends DataMapper {
 var $has_many=array("company");
function __construct() {
    parent::DataMapper();
    }
}

公司控制人

class Company_c extends CI_Controller {
 public function index() {

    $company = new company();
    $group=new group();
    $company->id=1;
    $group->id=2;
    $group->id=4;
    $company->save($group);

  }

}

請在這件事上給予我幫助

您沒有正確加載公司或組對象。 實例化公司時,您需要執行以下操作:

$company = new Company();
$company->where('id', 1)->get();

,速記速記(只要您使用id屬性即可):

$company = new Company(1);

(請注意,類名區分大小寫)。

然后,對要加載的組執行相同的操作:

$groups = new Group();
$groups->where_in('id', array(2, 4)->get();

然后,當兩個實例都實例化后,您可以一次性保存公司及其組:

$company->save($groups);

確保您徹底閱讀了DataMapper文檔,但無法真正清晰地解釋它: http ://datamapper.wanwizard.eu/pages/save.html#Relationship

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM