zoghal
یک شنبه 20 اردیبهشت 1388, 09:44 صبح
در کار با تیبل ها و کیک پی اچ پی با چیز هایی که دیدم ایمان آوردم
حالا دو تا سوال دارم،
1-hasAndBelongsToMany (HABTM) رو فهمیدم متها فکر مکنم اشتباه درک کرده باشم، این سیستم یا یک تیبل واسطه سیستم relastion و رول بک رو انجام میده؟ و روش دقیق پیاده سازیی چی هست؟
2- ما دو تا تیبل داریم
1- تیبل album :
CREATE TABLE `photoblogs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(400) COLLATE utf8_persian_ci NOT NULL,
`titlef` varchar(400) COLLATE utf8_persian_ci DEFAULT NULL,
`date` int(11) NOT NULL,
`info` text COLLATE utf8_persian_ci,
`infof` text COLLATE utf8_persian_ci,
`filename` varchar(255) COLLATE utf8_persian_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci;
تیبل عکس ها :
CREATE TABLE `photos` (
`id` int(11) NOT NULL,
`photoblog_id` int(11) NOT NULL,
`titlep` varchar(400) COLLATE utf8_persian_ci DEFAULT NULL,
`titlepf` varchar(400) COLLATE utf8_persian_ci DEFAULT NULL,
`ext` char(5) COLLATE utf8_persian_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci;
خوب رابطه تبیل ها کاملا مشخص هست.
حالا من می خوام زمانی که کل تیبل photoblogs رو واکشی میکنم بیاد اولین رکورد از مجموعه رکورد های که با هر رکورد در photoblogs مرتبط هست رو هم واکشی کنه،
$this->Photoblog->recursive = 0;
$this->Photoblog->find('all');
این کد ها همه رو واکشی میکنه مثلا اگر یک رکورد در تیبل photoblogs با ای دی 1 داشته باشیم و در تیبل photo هم 5 رکورد که با photoblog_id مرتبط هست رو هم واکشی میکنه
در صورتی که من فقط رکورد اولش رو می خوام
ممنون راهنمایی کنید
حالا دو تا سوال دارم،
1-hasAndBelongsToMany (HABTM) رو فهمیدم متها فکر مکنم اشتباه درک کرده باشم، این سیستم یا یک تیبل واسطه سیستم relastion و رول بک رو انجام میده؟ و روش دقیق پیاده سازیی چی هست؟
2- ما دو تا تیبل داریم
1- تیبل album :
CREATE TABLE `photoblogs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(400) COLLATE utf8_persian_ci NOT NULL,
`titlef` varchar(400) COLLATE utf8_persian_ci DEFAULT NULL,
`date` int(11) NOT NULL,
`info` text COLLATE utf8_persian_ci,
`infof` text COLLATE utf8_persian_ci,
`filename` varchar(255) COLLATE utf8_persian_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci;
تیبل عکس ها :
CREATE TABLE `photos` (
`id` int(11) NOT NULL,
`photoblog_id` int(11) NOT NULL,
`titlep` varchar(400) COLLATE utf8_persian_ci DEFAULT NULL,
`titlepf` varchar(400) COLLATE utf8_persian_ci DEFAULT NULL,
`ext` char(5) COLLATE utf8_persian_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci;
خوب رابطه تبیل ها کاملا مشخص هست.
حالا من می خوام زمانی که کل تیبل photoblogs رو واکشی میکنم بیاد اولین رکورد از مجموعه رکورد های که با هر رکورد در photoblogs مرتبط هست رو هم واکشی کنه،
$this->Photoblog->recursive = 0;
$this->Photoblog->find('all');
این کد ها همه رو واکشی میکنه مثلا اگر یک رکورد در تیبل photoblogs با ای دی 1 داشته باشیم و در تیبل photo هم 5 رکورد که با photoblog_id مرتبط هست رو هم واکشی میکنه
در صورتی که من فقط رکورد اولش رو می خوام
ممنون راهنمایی کنید