Hello Yii devs.
This is my db:
/*
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50508
Source Host : localhost:3306
Source Database : plate
Target Server Type : MYSQL
Target Server Version : 50508
File Encoding : 65001
Date: 2012-02-04 00:38:31
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `hrana`
-- ----------------------------
DROP TABLE IF EXISTS `hrana`;
CREATE TABLE `hrana` (
`IDhrana` int(11) NOT NULL AUTO_INCREMENT,
`hrana` varchar(45) DEFAULT NULL,
`cijena` decimal(10,0) DEFAULT NULL,
`IDrestoran` int(11) NOT NULL,
PRIMARY KEY (`IDhrana`),
KEY `fk_hrana_restoran1` (`IDrestoran`),
CONSTRAINT `fk_hrana_restoran1` FOREIGN KEY (`IDrestoran`) REFERENCES `restoran` (`IDrestoran`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of hrana
-- ----------------------------
INSERT INTO `hrana` VALUES ('1', 'Pizza Cappricosa', '3', '3');
INSERT INTO `hrana` VALUES ('2', 'Riblja plata', '30', '3');
INSERT INTO `hrana` VALUES ('3', 'Carry sendvic', '2', '1');
INSERT INTO `hrana` VALUES ('4', 'Kobasice', '4', '2');
INSERT INTO `hrana` VALUES ('5', 'Pileći file', '5', '2');
INSERT INTO `hrana` VALUES ('6', 'Pizza Bosna', '3', '1');
-- ----------------------------
-- Table structure for `hrana2kategorija`
-- ----------------------------
DROP TABLE IF EXISTS `hrana2kategorija`;
CREATE TABLE `hrana2kategorija` (
`IDhrana2kategorija` int(11) NOT NULL AUTO_INCREMENT,
`IDkategorija` int(11) NOT NULL,
`IDhrana` int(11) NOT NULL,
PRIMARY KEY (`IDhrana2kategorija`),
KEY `fk_hrana2kategorija_kategorija` (`IDkategorija`),
KEY `fk_hrana2kategorija_hrana1` (`IDhrana`),
CONSTRAINT `fk_hrana2kategorija_hrana1` FOREIGN KEY (`IDhrana`) REFERENCES `hrana` (`IDhrana`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_hrana2kategorija_kategorija` FOREIGN KEY (`IDkategorija`) REFERENCES `kategorija` (`IDkategorija`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of hrana2kategorija
-- ----------------------------
INSERT INTO `hrana2kategorija` VALUES ('1', '3', '1');
INSERT INTO `hrana2kategorija` VALUES ('2', '4', '2');
INSERT INTO `hrana2kategorija` VALUES ('3', '1', '3');
INSERT INTO `hrana2kategorija` VALUES ('4', '4', '4');
INSERT INTO `hrana2kategorija` VALUES ('5', '4', '5');
INSERT INTO `hrana2kategorija` VALUES ('6', '3', '6');
-- ----------------------------
-- Table structure for `kategorija`
-- ----------------------------
DROP TABLE IF EXISTS `kategorija`;
CREATE TABLE `kategorija` (
`IDkategorija` int(11) NOT NULL AUTO_INCREMENT,
`kategorija` varchar(45) DEFAULT NULL,
PRIMARY KEY (`IDkategorija`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of kategorija
-- ----------------------------
INSERT INTO `kategorija` VALUES ('1', 'Predjelo');
INSERT INTO `kategorija` VALUES ('2', 'Večera');
INSERT INTO `kategorija` VALUES ('3', 'Pizza');
INSERT INTO `kategorija` VALUES ('4', 'Roštilj');
Hrana model relation:
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'restoran' => array(self::BELONGS_TO, 'Restoran', 'IDrestoran'),
'kat' => array(self::HAS_MANY, 'Hrana2kategorija', 'IDhrana'),
);
I wonder why this code doesn’t work:
$hrana = Hrana::model()->with('kat')->findAll();
foreach ($hrana as $kat)
echo $kat->kat->IDkategorija;
And this does:
$hrana = Hrana::model()->with('restoran')->findAll();
foreach($hrana as $kat)
echo $kat->restoran->restoran.'</br>';
Tnx.