ورود

View Full Version : مشکل با relation



googoli
شنبه 15 شهریور 1393, 19:59 عصر
سلام
من می خوام با ارتباطات ریز رکورد های جدول دوم رو در بیارم
تا الان برای این که به خواستم برسم از کد زیر استفاده می کردم و به جواب هم میرسیدم


$tiny = Material::model()->with(array('Minfo'=>array('condition'=>'material_id= 4')))->findAll();

ولی الان نمی دونم چرا این کد جوابم رو نمیده



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(
'Minfo' => array(self::MANY_MANY, 'Materialinfo', '{{relmaterial}}(material_id, materialInfo_id)'),
);
}


این هم اروری که میده

googoli
شنبه 15 شهریور 1393, 22:16 عصر
این هم کد ساخت جداولم



<?php

class m140810_051144_materials extends CDbMigration
{

// Use safeUp/safeDown to do migration with transaction
public function safeUp()
{
$this->createTable('tbl_material',
array(
'id'=>'pk',
'name'=>'varchar(255) NOT NULL',
'Hall'=>'int(11) NOT NULL',
'default'=>'float NOT NULL',
'Shortage_Alarm'=>'int(20) NOT NULL',
),
'ENGINE=InnoDB'
);

$this->createTable('tbl_materialInfo',
array(
'id'=>'pk',
'Date'=>'varchar(255)',
'productionmix_id'=>'int(11) NOT NULL DEFAULT 0',
'Material_id'=>'int(11) NOT NULL DEFAULT 0',
'Hall'=>'varchar(255)',
'Buy'=>'float NOT NULL DEFAULT 0',
'Minus'=>'float NOT NULL DEFAULT 0',
'Stock'=>'float NOT NULL DEFAULT 0',
),
'ENGINE=InnoDB'
);

$this->createTable('tbl_RelMaterial',
array(
'material_id'=>'int(11) NOT NULL',
'materialInfo_id'=>'int(11) NOT NULL',
'PRIMARY KEY (`material_id`,`materialInfo_id`)'
),
'ENGINE=InnoDB'
);
$this->addForeignKey('fk_material_info2', 'tbl_materialInfo', 'material_id', 'tbl_material', 'id', "CASCADE", "RESTRICT");
$this->addForeignKey('fk_material_info', 'tbl_RelMaterial', 'materialInfo_id', 'tbl_materialInfo', 'id', "CASCADE", "RESTRICT");
$this->addForeignKey('fk_material', 'tbl_RelMaterial', 'material_id', 'tbl_material', 'id', "CASCADE", "RESTRICT");

}

public function safeDown()
{
$this->truncateTable('tbl_RelMaterial');
$this->dropTable('tbl_RelMaterial');
$this->dropTable('tbl_material');
$this->dropTable('tbl_materialInfo');

}

}

razzaghis
یک شنبه 16 شهریور 1393, 08:24 صبح
این گزینه رو امتحان کن :
'Minfo'=>array('condition'=>'Minfo.material_ id= 4')