[英]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.