我有以下mysql表:
表1:emp
字段:id,document_ids
表2:文件
字段:id,document_name
示例数据:
表1
emp
<table border='1pt'>
<tr>
<td>id</td>
<td>document_ids</td>
</tr>
<tr>
<td>1</td>
<td>[1,2]</td>
</tr>
<tr>
<td>2</td>
<td>[2,3]</td>
</tr>
</table>
documents
<table border='1pt'>
<tr>
<td>id</td>
<td>document_name</td>
</tr>
<tr>
<td>1</td>
<td>Matser Degree</td>
</tr>
<tr>
<td>2</td>
<td>HSC</td>
</tr>
<tr>
<td>3</td>
<td>SSC</td>
</tr>
</table>
Result should be:
<table border='1pt'>
<tr>
<td>id</td>
<td>documents</td>
</tr>
<tr>
<td>1</td>
<td>Master Degree, HSC</td>
</tr>
<tr>
<td>2</td>
<td>HSC,SSC</td>
</tr>
</table>
&#13;
我希望结果是我在第三张表格中打印出来的结果。 关系应该是第一个模型&#39; emp&#39;只要。如何在yii2模型关系中进行查询以获得此类结果?
答案 0 :(得分:0)
这取决于您使用哪个数据库。 Yii2 ActiveRelationTrait enhancement - 这里的人添加了通过数组获取关系的支持,通常像其他hasMany()
关系一样使用它。
如果您使用不支持此功能的数据库,您可以执行以下操作,如果document_ids
是真正的PHP数组:
public function getDocuments() {
return Document()->find()->andWhere(['id' => $this->document_ids]);
}