谁一开始就是大神?

PHP 第69页

PHP

ActiveForm表单里面,,怎么使checkboxList不换行[2.0]

LeoLion阅读(127)

<?= $form->field($model, 'type_id')->checkboxList(ArrayHelper::map(MeType::find()->asArray()->all(),'id','name'))->label('经营类型');?>

Ref. yii\bootstrap\ActiveField::inline()
要是我就自己写css,bootstrap里的css不熟
good,就是这个效果

怎么向公共布局文件里面传递数据[2.0]

Kimbubble阅读(130)

自己写了个布局文件mylayout.php,在视图里面定义$this->meun = 'xxx',
在mylayout.php中引用echo $this->menu报错, 什么原因 ? 试过在控制器里面定义变量menu了!

在对应的action中
在对应的视图和布局中,都可以这样获得:
其实你写的没错,主要是view对象没有menu属性。。title和params属性倒是有,所以没必要那么麻烦,照你自己的写法写$this->params['menu'] = 'xxx';布局里边用就行了

Views內如何選擇語系目錄[2.0]

richsea阅读(135)

當我 config 設定 language = ‘en’;

-views(Folder)
--index.php
---en(Folder)
-----index.php
---zh-CN(Folder)
-----index.php
---zh-TW(Folder)
-----index.php

Controller :
`$this->render('index');` 
會自動分配相對應的語系 en/index.php

============================================================================

-views(Folder)
--index.php    <=== 移除後
---en(Folder)
-----index.php
---zh-CN(Folder)
-----index.php
---zh-TW(Folder)
-----index.php

Controller :
$this->render('index');
將不到 index.php
除非我下 render(Yii::$app->language.'/index'); 以外

有甚麼辦法能
1.把 index.php 移除後
2.透過 $this->render('index');
3.render 到相對應的語系目錄下的 index.php

或者我的方法使用錯誤, 請給予指教!!

这个应该不用自己写这个判断吧,yii2会自己去匹配对应的语言包啊,直接放在message里,不就行了吗? 语言.php
index 自己作判断再转向相应的目录?

GridView含有中间表的时候,应该怎么关联?求解!!!!![2.0]

HarryEagle阅读(132)

  1. 用户表(uc_user) id
  2. 中间表(authGroupAccess) uid(用户ID) group_id(‘角色ID’)
  3. 角色表(authGroup) id

我现在是用户表和中间表进行关联,但是这样求取不到角色表里面的数据了,求解….

$query =  UcUser::find();
$query->joinWith(['authGroupAccess']);
$dataProvider = new ActiveDataProvider([
    'query' => $query,
]);

你可以参考 Relations via a Junction Table 章节内容。

这里的this代表什么?[2.0]

NiceStone阅读(122)

在控制器中 $this->render('left'); this表示控制器对象吧
在视图中 $this->render('left'); this表示视图对象
难道在controller类和view类中都定义了render函数吗?
如果在视图中 $this->render('left')的话,为什么在控制器中不这样写呢$this->view->render('left')

为什么不能?;确实controller和view都有render方法,controller里的render方法是调的view里的

MySQL中文utf8排序问题[2.0]

Fionasea阅读(138)

网站开发接近尾声,几乎所有的编码都是采用utf8编码,但是最后在采用gridview显示人名,并排序的时候出现问题了。不是按照拼音或者笔画啊,乱七八糟的排序。也百度了应当采用gbk的方式才可以正确排序,也知道怎么加这个转换gbk的语句,但是在gridview点击行首排序咋个处理呢?
先谢谢啦。

在 Search model 内配置 setSort() 内的 attributes property 即可。下面的例子将 post.title 列设置为按拼音排序:
SELECT 字段名 FROM 表 ORDER BY CONVERT(字段名 USING gbk) ASC;

urlManagerrules重写没用[2.0]

Licrab阅读(131)

我想把如

www.example/index.php?r=site/index?id=49

的地址改写为

www.example/site/index/49.html

这样的,现在我成功去掉了index.php和r=字符,url变成了

www.example/site/index?id=49

就卡在urlManager的rules这里,请问我该怎么写rules?
另外,我要是想重写为www.example/site/49该怎么写rules呢,求大神给下指点。
另外,yii2的重写具体有哪些规则,语法是怎么样的,有资料的给我个地址也行。

http://www.digpage.com/route.html

在执行actionXxxx方法之前对$_GET或$_POST进行处理[2.0]

BraveLion阅读(125)

如题;

我用yii2.0构建了一个service层,我调用service的时候对参数进行过签名,在yii2.0的service端获取参数的时候我想先进行相关处理。然后将处理后的参数还原成yii能接受的。具体如下:

yii标准请求地址:
http://host/?r=site/get-userinfo&id=8

签名过的请求地址:
http://host/?r=site/get-userinfo&param=这里是包含了id等相关参数的密文

并且service用的yii内置的RESTful,控制器方法如下:

class SiteController extends \yii\rest\ActiveController{

    public $modelClass = '';

    public function actionGetUserinfo($id) {
        # 相关操作
    }
}

使用标准请求地址是能访问成功的,如何能让我签名过的地址能访问呢,也就是说如何能在调用actionGetUserinfo()方法之前让我去改变$_GET['id']这个值,有没有提供这样的过滤器或者方法。

yii小白一枚,望各位大神不吝赐教。先谢过了!

处理参数的核心逻辑在yii\base\Action::runWithParams里面,你可以选择重写这部分,但是这会影响整个框架的所有代码。
建议是重写控制器的runAction逻辑,实现一个YourActiveController
然后,相关的逻辑继承这个控制器
两种方法
1.写一个behaviour。
2.重写beforeAction方法,在当前类,或者写个父类继承。

关联查询GridView中省市区关联查询问题[2.0]

littlequeen阅读(123)

请问大神,我一张表里的3个字段,都要关联到城市表里面去,这种情况应该怎么写关联模型?
下面是关联模型

public function getProvin()
{
    return $this->hasOne(City::className(), ['id' => 'provin']);
}

public function getCity()
{
    return $this->hasOne(City::className(), ['id' => 'citys']);
}
public function getArea()
{
    return $this->hasOne(City::className(), ['id' => 'area']);
}

下面是GridView代码

$query->joinWith(['city']);
$query->joinWith(['area']);
$query->joinWith(['provin']); 

这种写法直接报错,,,请问应该怎么写?

首先,$query是已经查询出来的ar吗?
如果是的话 $query->city,$query->area,$query->provin就可以直接取了。
如果不是,那$query->with([‘city’,’area’,’provin’])->all(),查询出来,和上面一样取值就好了。

登录

找回密码

注册