簡體   English   中英

yii2 gii crud db關系(一對多)

[英]yii2 gii crud db relation(one to many)

gii成功生成模型(具有關系):

/**
 * @return \yii\db\ActiveQuery
 */
public function getClient()
{
    return $this->hasOne(Client::className(), ['id' => 'client_id']);
}

但是當我生成crud時,在客戶端中僅輸入了文本字段。 請幫助我,哪里出問題了?

沒錯 如果用戶應該選擇客戶端,則必須在_form.php文件中定義一個下拉框:

<?= $form->field($model, 'client')->dropDownList($clients) ?>

在控制器操作中創建/更新,您必須提供$ clients:

return $this->render('create', [  // or: return $this->render('update', [
    'model'    => $model,
    'clients' => ArrayHelper::map(Client::find()->all(), 'id', 'name'),
]);

不要忘了將它們傳遞到view.create.php文件中,並將update.php傳遞到_form.php文件中:

<?= $this->render('_form', [
    'model' => $model,
    'clients' => $clients, // <-- added
]) ?>

在其他只想向客戶顯示的視圖中,您可以使用以下方法:

echo $model->client->name; //or something different

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM