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 !!!

Yii2da categoriyani olib kelish bilan hatolik

+2 ovoz
71 marta ko‘rilgan
so‘radi 12 fevral, 18 Yusufbek (160 bal)

Assalomu Aleykum, templeteni o'rnatib categoriyani chaqirmoqchi bo'lganimda ushbu hatolik kelib chiqdi Trying to get non-object. Malumotlar bazasiga category_id ni kiritganman.Lekin hatolik qayerda ekanligini topa olmadim.Iltimos yordam bersangiz

Index.php

<?php

/* @var $this yii\web\View */

$this->title = 'Bosh sahifa';
?>

 <div id="main" role="main">
    <ul id="tiles">
                <!-- These are our grid blocks -->
                <?php foreach($dataProvider->getModels() as $model) { ?>
               
      <li onclick="location.href='<?= \yii\helpers\URL::to(['post/view', 'id'=>$model->id])?>';">
                        <img src="uploads/<?=$model->image?>" width="282" height="118">
                        <div class="post-info">
                            <div class="post-basic-info">
                                <h3><a href="#"><?=$model->title?></a></h3>
                                <span><a href="#"><label></label><?=$model->category->name?></a></span>
                                <p><?=$model->description?></p>
                            </div>
                            <div class="post-info-rate-share">
                                <div class="rateit">
                                    <span> </span>
                                </div>
                                <div class="post-share">
                                    <span> </span>
                                </div>
                                <div class="clear"> </div>
                            </div>
                        </div>
         </li>
         <?php } ?>
     </ul>
 </div>

Category.php

?php

namespace app\models;

use Yii;

/**
 * This is the model class for table "category".
 *
 * @property integer $id
 * @property string $name
 */
class Category extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'category';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['name'], 'required'],
            [['name'], 'string', 'max' => 255],
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'name' => 'Category',
        ];
    }
public function getPosts(){
    return $this->hasMany(Post::className(),['category_id'=>'id']);
}

}

izoh qoldirdi 12 fevral, 18 alfraganus (812 bal)
Sizi Modelida Post degan funksiya turibdi, lekin categorya deb funcsiya ochilmapdiku,
$model->category->name bolishi uchun, modelda
public function getCategory()
{
return $this->hasMany(Category::className(),['id'=>'id']);
}
bolishi kerek masalan

Iltimos, saytga kiring yoki ro‘yxatdan o‘ting va shunda ushbu savolga javob berishingiz mumkin bo‘ladi.

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

...