似乎 CGridView 中的默认行为是,当有人单击该行时,它将“选定”类添加到该行。我该如何摆脱它?单击该行时,我不希望发生任何事情。
我想在 Yii 的视图页面中执行查询,这是我的代码:
$connection=Yii::app()->db;
$connection->active=true;
$sql = "insert into news(idNews, news, display) values('', 'anything', 0)";
$command=$connection->createCommand($sql);
$command->execute();
Run Code Online (Sandbox Code Playgroud)
但什么也没发生,我的代码有什么错误?
我在我看来有一个自动完成字段,其代码如下
<?php
$data = Members::find()
->select(['first_name as value', 'first_name as label','id as id'])
->asArray()
->all();
echo 'Name' .'<br>';
echo AutoComplete::widget([
'name' => 'member_name',
'clientOptions' => [
'source' => $data,
'minLength'=>'3',
'autoFill'=>true,
'select' => new JsExpression("function( event, ui ) {
$('#receipt-member_id').val(ui.item.id);//#receipt-member_id is the id of hiddenInput.
}")],
]);
?>
Run Code Online (Sandbox Code Playgroud)
自动完成工作正常,它显示所有“成员”的名字。但是可能有很多名字相似的人,所以我想要的是连接 first_name 和 last_name。在正常的下拉菜单中,可以按如下方式完成
<?php
$models1 = Members::find()->all();
$data = array();
foreach ($models1 as $model1)
$data[$model1->id] = $model1->first_name . ' '. $model1->last_name;
echo $form->field($model, 'member_id')->dropDownList(
$data,
['prompt'=>'Select...']);
?>
Run Code Online (Sandbox Code Playgroud)
如何使用自动完成小部件执行此操作?
我正在尝试下拉,但我不希望我现在可见,这是代码.
<div class="row">
<?php echo $form->labelEx($model,'lang_id'); ?>
<?php echo $form->dropdownlist($model,'lang_id',CHtml::listData(Lang::model()->findAll(), 'id', 'name')); ?>
<?php echo $form->error($model,'lang_id'); ?>
</div>
Run Code Online (Sandbox Code Playgroud)
我怎么做这个type = 'hidden'或类似的东西?
换句话说,我想保留这个领域,但我不想让它显示出来.
什么是Yii::app()->user->id用作$id函数参数的正确方法?
码:
public function actionUpdate($id=Yii::app()->user->id)
Run Code Online (Sandbox Code Playgroud)
错误:
Parse error: syntax error, unexpected '(', expecting ')' in .../UserController.php on line 1
Run Code Online (Sandbox Code Playgroud) 我正在学习Yii框架.我以前总是在wordpress中构建插件,之前从未使用过PHP MVC框架.
现在客户端需求发生变化,数据库中需要一个额外的字段.
我是否需要手动更新模型,视图和控制器以合并这些更改,还是保存自定义,然后让Yiic shell重新构建模型,视图和控制器,然后手动重新编写自定义?
我相信我也可以做到,但是有一种更简单的方法/你是否有一种方式可以使你的生活变得更轻松?
我开始学习Yii框架.在教程视频中,我复制了使用setFlash的代码,用于表单上的错误消息.我已经检查了很多次代码并且我非常确定它与视频相同但是我不断收到一条引用此行的错误消息:
Yii:app()->user->setFlash('failure', "There was a problem saving the data!");
Run Code Online (Sandbox Code Playgroud)
错误说:
Fatal error: Label 'Yii' already defined in C:\wamp\www\photogallery\protected\controllers\AlbumController.php on line 77
public function actionCreate()
{
$model=new Album;
// Uncomment the following line if AJAX validation is needed
$this->performAjaxValidation($model);
if(isset($_POST['Album']))
{
$model->attributes=$_POST['Album'];
if($model->save()){
Yii:app()->user->setFlash('saved', "Data saved!");
$this->redirect(array('update','id'=>$model->id));
} else{
Yii:app()->user->setFlash('failure', "There was a problem saving the data!");
}
}
$this->render('create',array(
'model'=>$model,
));
}
Run Code Online (Sandbox Code Playgroud)
也许它错过了一个错字,但它与视频教程完全相同,它似乎对他有用,我在网上看了一些其他类似的代码,它似乎使用了Yii中的2个实例:app()in if /否则声明.错误消息没有在谷歌上返回任何类似的问题,所以我猜它的东西很简单
我有两个表 ad_pool 和 advertisement。ad_pool有一些数据,而advertisement是空的。我使用此代码通过像这样的不等于查询从第一个表中选择值 andWhere(['<>','fisttablekey','second_tbl_key'])。这是我用来检索数据的完整代码,我还上传了图像。
$pool1 = (new Query())>select('p.id,p.cleaner_user_id,p.ad_place_id')
->from('ad_pool p')
->innerJoin('advertisment a' , 'p.id = a.pool_id')
->where(['=','ad_place_id',1])
->andWhere(['<>','p.id','a.pool_id'])
->orderBy(new Expression('rand()'))
// ->limit(1)
->all();
var_dump($pool1);
exit();
Run Code Online (Sandbox Code Playgroud)
这返回我空数组。需要您的帮助。提前致谢。
我想从 yii2 中的台式笔记本电脑获得最高价格。我怎样才能做到这一点?
我使用了下面的代码
<?
Laptop::find()->max('price')
?>Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用:(
我如何访问这些数据。
在我之前编码的其他类型中,如下所示
<?
$min=Laptop::find()->select('min(price)');
?>Run Code Online (Sandbox Code Playgroud)
但它不再起作用了..
如何添加此查询?