在另一个模型的视图中从category_master表中获取类别名称

时间:2016-03-18 04:52:18

标签: yii2 yii2-advanced-app yii2-model

我有两个不同的表:

document_master

doc_id

cat_id

doc_name

category_master

cat_id

cat_name

cat_desc

我想在视图文件文档模型的下拉列表中 cat_name 。 我创建了名为 catmodel 的模型,其中包含category_master的详细信息。我也创建了 docmodel 的模型。

我如何在视图中的下拉列表中获取类别名称?

2 个答案:

答案 0 :(得分:2)

根据我的理解,您将根据所选文档显示类别下拉列表。我是对的吗?

如果是这样,您需要根据文档模型中的cat_id查询类别。我假设cat_id是对文档表的引用。

你可以使用这样的东西,

$query = new Query;
$query->select(['category.*'])
->from('category')
->leftJoin('document', 'category.cat_id = document.cat_id');

上面的代码会查询cat_id等于所选文档cat_id的所有类别。

希望这有帮助!

答案 1 :(得分:0)

step :1

Create a function in category module file

public function getcategories()
{
        return ArrayHelper::map(DocCatogories::find()->all(), 'catogory_id', 'catogory_name');
}

step :2

Create a function in category module or
public function getcategories(){
return array();
}


step :3
Write a following code for auto fill up drop down list in document view file.

<div class = "form-group">
        <label class = "col-sm-3 control-label" for = "catogory_id">Select Category</label>
        <div class = "col-sm-9">
            <?php
                $categories = new DocCatogories;
                echo $form->field($model, 'catogory_id')->dropDownList($categories->getcategories())->label(false);
            ?>
        </div>
</div>