Yii 框架:如何从 DB 获取 id,当从 DB 选择相关记录时



我在网页上有带有Autocomplete::widget的文本编辑框。自动完成从数据库填充。当我开始键入并选择自动完成项目(在我的例子中是 DB 中的名字(时,我需要从数据库获取关联的 ID。如何实施?

<?php
use yiihelpersArrayHelper;
use yiihelpersHtml;
use yiiwidgetsActiveForm;
use appmodelsRating;
use appmodelsTeacher;
use yiijuiAutoComplete;
use yiiwebJsExpression;

/* @var $this yiiwebView */
/* @var $model appmodelsRating */
/* @var $form ActiveForm */
    $data = Teacher::find()
    ->select(['lname as value', 'lname as  label','id as id'])
    ->asArray()
    ->all();
    //print_r($data[0].id);//exit;

?>
<div class="rating-input">
ФИО
    <?php 
    echo AutoComplete::widget([
    'name' => 'Teacher',
    'id' =>'ddd',
    'clientOptions' => [
    'source' => $data,
    'autoFill'=>true,
    'minLength'=>'1',
     ],
     ]);    

https://paste.ee/p/BtQav

试试这个

  <input type="hidden" name="teacher_id" id="teacher_id" value="">
     <?php 
    echo AutoComplete::widget([
    'name' => 'Teacher',
    'id' =>'ddd',
    'clientOptions' => [
    'source' => $data,
    'autoFill'=>true,
    'minLength'=>'1',
    'select' => new yiiwebJsExpression("function( event, ui ) {    
                    // $('#teacher_id').val(ui.item.id);//#teacher_id is the id of hiddenInput.
                     console.log(ui.item.id);
                 }")
     ],
     ]);   

您在文档页面中提供了更多信息:http://www.yiiframework.com/wiki/830/simple-jui-autocomplete-in-yii2/

最新更新