Yii2 da ActiveRecord bilan ishlash

+1 ovoz
93 marta ko‘rilgan
so‘radi 22 oktabr, 18 SpecialistX (277 bal)

DB da ikkita table bor. 1) categories ('id', 'parent_id')    2) categories_description ('id', 'category_id, 'name', 'description')

categories_description  categories`ga  ForeignKey bilan ulangan.

Categories modelida

public function getCategoryDescriptions()
{
    return $this->hasMany(CategoryDescription::className(), ['category_id' => 'id']);
}

Men shuni /views/categories/index.php ga  qanday qilib ikkalasini birga yuborsam bo'ladi?

Ya'ni 

| id | parent_id | name | description |   ko'rinishida

2 Javoblar

0 ovoz
javob berdi 22 oktabr, 18 MrHope (765 bal)
tahrirlandi 22 oktabr, 18 MrHope
public function getCategory()
{
    return $this->hasOne(Category::className(), ['id'=>'category_id']);
}

category model ga qo'shing shu orqali ishlatib ko'rsaz bo'ladi

0 ovoz
javob berdi 14 noyabr, 18 Omadbek (5 bal)

Bu yerda bitta muammo bor. Sizda categories table birga kop xolatda ulangan category_discriptions table bilan;

Agar bitta Category ga bitta description to'gri kelsa u holda:
 

$model = Categories::find()->asArray()->all();

$model->categoryDescription[0]->description; ko'rinishda olish mumkin

izoh qoldirdi 15 noyabr, 18 SpecialistX (277 bal)
Men buni
$model = Categories::find()->with('categoryDescriptions)->all();
ko'rinishida qildim.
Shunda massiv obyekt ko'rinishida bo'larkan.
view`da foreach bilan chiqarganda ham
$item->id
$item->categoryDescriptions->name;
foydalansa bo'larkan

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...