Yii2 从另一个型号的Category#u主表中获取类别名称';s观点
我有两张不同的桌子: 文件管理器 类别(u)主机 我想在查看文件文档模型的下拉列表中输入目录名。 我创建了一个名为catmodel的模型,其中包含Yii2 从另一个型号的Category#u主表中获取类别名称';s观点,yii2,yii2-advanced-app,yii2-model,Yii2,Yii2 Advanced App,Yii2 Model,我有两张不同的桌子: 文件管理器 类别(u)主机 我想在查看文件文档模型的下拉列表中输入目录名。 我创建了一个名为catmodel的模型,其中包含类别\u master的详细信息。我还创建了docmodel的模型 如何在视图的下拉列表中获取类别名称?据我所知,您将根据所选文档显示类别下拉列表。我说得对吗 如果是这样,则需要根据文档模型中的cat\u id查询类别。我假设cat\u id是对文档表的引用 你可以用这样的东西 $query = new Query; $query->select
类别\u master
的详细信息。我还创建了docmodel的模型
如何在视图的下拉列表中获取类别名称?据我所知,您将根据所选文档显示类别下拉列表。我说得对吗 如果是这样,则需要根据文档模型中的
cat\u id
查询类别。我假设cat\u id
是对文档表的引用
你可以用这样的东西
$query = new Query;
$query->select(['category.*'])
->from('category')
->leftJoin('document', 'category.cat_id = document.cat_id');
上面的代码查询cat\u id
等于所选文档cat\u id
的所有类别
希望这有帮助 步骤:1
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>
在类别模块文件中创建函数
公共函数getcategories()
{
返回ArrayHelper::map(doccatogory::find()->all(),'catogory_id','catogory_name');
}
步骤:2
在类别模块或中创建函数
公共函数getcategories(){
返回数组();
}
步骤:3
为文档视图文件中的自动填充下拉列表编写以下代码。
选择类别
非常感谢您回复@ekaj_03。我已经通过另一种方式解决了这个问题。
$query = new Query;
$query->select(['category.*'])
->from('category')
->leftJoin('document', 'category.cat_id = document.cat_id');
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>