gpt4 book ai didi

mysql - Yii2 Kartik-V Typeahead 高级小部件 : How to store result in Mysql

转载 作者:行者123 更新时间:2023-11-29 03:28:10 24 4
gpt4 key购买 nike

在这一点上撕裂我的头发,希望有人能帮助我!

我在 Yii2 中使用 Kartik-V Typeahead Advanced 小部件。

该插件有效,因为该功能在页面上完美运行,我搜索并且结果显示在自动完成列表中。

不幸的是,我无法将结果存储到我的数据库中。我在以下行看到一个问题:

->where([ 'name' => $model->name ])//This variable is returning null

我是否试图错误地存储数据?我已经尝试了所有我能想到的方法,但我相信这里有人会想出更好的办法!

完整代码见下文。

我的 Controller :

public function actionIndex()
{
$model = new Member();

if ($model->load(Yii::$app->request->post())) {
$test = Test::find()
->where([ 'name' => $model->name ])//This variable is returning null
->one();

$test->updateCounters(['times_used' => 1]);
}

return $this->render('index', [
'model' => $model,
]);

}

/*************
* Initial prefetch of results
*************/
public function actionPrefetchlist() {
$query = new Query;

$query->select('name')
->from('test_table')
->limit(10)
->orderBy('times_used');
$command = $query->createCommand();
$data = $command->queryAll();
$out = [];
foreach ($data as $d) {
$out[] = ['value' => $d['name']];
}
echo Json::encode($out);
}

/*************
* Remote results
*************/
public function actionRemotelist() {
$query = new Query;

$query->select('name')
->from('test_table')
->where('name LIKE "%' . $q .'%"')
->limit(10)
->orderBy('times_used');
$command = $query->createCommand();
$data = $command->queryAll();
$out = [];
foreach ($data as $d) {
$out[] = ['value' => $d['name']];
}
echo Json::encode($out);
}

查看文件:

echo $form->field($model, 'name')->label(false)->widget(Typeahead::classname(), [
'name' => 'name',
'options' => ['placeholder' => 'Filter as you type ...'],
'pluginOptions' => ['highlight'=>true],
'dataset' => [
[
'datumTokenizer' => "Bloodhound.tokenizers.obj.whitespace('value')",
'display' => 'value',
'prefetch' => Url::to(['prefetchlist']),
'remote' => [
'url' => Url::to(['remotelist']) . '?q=%QUERY',
'wildcard' => '%QUERY'
]
]
]
]);

最佳答案

你在这里问一个新模型:

$model = new Member();

所以你得到一个空模型所以 $model->name 是空的如果你设置模型 $model->name='test';比它会填充所以,先填充模型

关于mysql - Yii2 Kartik-V Typeahead 高级小部件 : How to store result in Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33669835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com