0
row_array 활성 기록 기능을 여러 행에 합류 한 행,MySQL은, CodeIgniter는 내가 세 테이블을 가지고
작품 :
CREATE TABLE `works` (
`work_id` int(11) NOT NULL AUTO_INCREMENT,
`project_id` int(11) NOT NULL,
`work_name` varchar(100) NOT NULL,
`work_baslangic` int(11) NOT NULL,
`work_bitis` int(11) NOT NULL,
`work_onay` enum('0','1') NOT NULL,
`work_onay_userid` int(11) NOT NULL,
`work_brief` text NOT NULL,
`work_not` text NOT NULL,
`work_url` varchar(50) NOT NULL,
`work_employees` varchar(200) NOT NULL,
PRIMARY KEY (`work_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
공지 사항 :
CREATE TABLE `notifications` (
`notification_id` int(11) NOT NULL AUTO_INCREMENT,
`notification_userid` int(11) NOT NULL,
`notification_workid` int(11) NOT NULL,
`notification_stat` enum('1','0') NOT NULL,
`notification_tarih` int(11) NOT NULL,
PRIMARY KEY (`notification_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
사용자
CREATE TABLE `users` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`ip_address` varbinary(16) NOT NULL,
`username` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`password` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`salt` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`activation_code` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
`forgotten_password_code` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
`forgotten_password_time` int(11) unsigned DEFAULT NULL,
`remember_code` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
`created_on` int(11) unsigned NOT NULL,
`last_login` int(11) unsigned DEFAULT NULL,
`active` tinyint(1) unsigned DEFAULT NULL,
`first_name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`last_name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`company` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`phone` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;
시나리오 : 사람들이 새 작업을 만들면 양식 값에 작업 테이블 및 알림 테이블이 삽입됩니다. 알림 테이블은 작업을 수행하는 사람을 저장합니다. 한 명 이상일 수 있습니다. 나는 사용자 ID를 저장하고 사용자를 찾기 위해 사용자 테이블에 가입한다. 컨트롤러에서
: 뷰에서
$data["works"] = $this->db->select("users.first_name, works.work_employees, works.work_name, works.work_baslangic, works.work_bitis, works.work_onay, works.work_onay_userid")->from("works")->join("users", "users.id = works.work_onay_userid", "LEFT")->get()->result_array();
:
foreach($works as $row):
이 라인에서 나는 알림 사용자를 찾는 또 다른 SQL을 작성합니다. 하지만 볼 수있는 또 다른 SQL을 작성하고 싶지 않아, 나는 그들 모두를 컨트롤러 (또는 모델)에서 완성하고 싶다. 어떻게해야합니까?
endforeach;
는 당신이 보는나요 뷰에서 결과 개체를 얻을 수 게시하기 전에 질문에? 이해할 수있는 상태가되도록 서식을 지정하십시오. – Bojangles
이 지금은 무엇입니까? 고마워요 @JamWaffles –