谁一开始就是大神?

PHP 第69页

PHP

如何禁用assets[2.0]

kencrab阅读(44)

都知道web文件夹下有个assets文件夹,每次打开网页的时候,assets文件夹下都产生很多文件。现在想把他部署到新浪云空间,做一个玩玩的网站。可是,新浪云空间不让写,写文件只可以在SAE_TMP_PATH目录下写。现在直观的想法有两个

  • 关闭assets,不让他生成,暂时做不到啊
  • 把assets文件夹存放在那个可写目录

或者还有第三种做法,就不部署在新浪云,咋滴,当然还不能这么任性。各位可有好的建议,谢谢啦。

这是我的做法记录。http://my.oschina.net/bubifengyun/blog/614555

Yii里的那些配置都是可以自定义目录的,文档里都有写
可以随便指定位置和名字
如:

yii2+oracle文章写入[2.0]

AibyStag阅读(47)

在oracle中字段类型为varchar2(4000)写入数据没有超出上限

插入测试数据11122223333不长的不会报错,内容长了之后会报错 仅能绑定要插入 LONG 列的 LONG 值
错误提示

这个是错误属于oracle的错误,实际上,你的长度确实超过了其能保存的长度
你的数据库字符集可能是UTF-8的,对于UTF-8或欧洲的某些字符集,oracle在存储时,对于一个字符需要2个或3个字节的存储空间,虽然表定义中为varchar2(4000),但是其实该字段的data_length为其2倍或3倍长。这种情况下oracle会把data_length长度超过4000的当做LONG型处理,所以报错。
你可以这样测试这个问题:
你说,插入测试数据11122223333不长的不会报错,内容长了之后会报错,你插入,4000/2-1的长度的字符串,看看会不会报错,然后,看看4000/2的字符串长度会不会报错,如果报错,再看看4000/3-1长度的字符串会不会报错,再看看4000/3的长度会不会报错
还有就是,明确指定绑定VARCHAR处理:参考php的文档:
http://php.net/manual/zh/function.oci-bind-by-name.php#92334
先尝试下吧
请问要是用 ActiveRecord 方式怎么保存成功呢?

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

LeoLion阅读(35)

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

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

urlManagerrules重写没用[2.0]

Licrab阅读(37)

我想把如

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阅读(35)

如题;

我用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阅读(37)

请问大神,我一张表里的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(),查询出来,和上面一样取值就好了。

继承ActiveRecord的模型类如何添加自义属性[2.0]

littlelovely阅读(37)

gii根据数据库表生成的model是扩展自\yii\db\ActiveRecord。
一个简单的功能:上传产品信息至数据库表中,同时上传产品图片至目录下。

用gii生成了CRUD,然后结合手册中上传文件的示例代码,在create view里添加一个file input ,为了能验证上传是jpg或是png,于是在model里添加了rule,然后添加自定义字段,数据库内容是进去了,图片没上传。

gii根据数据库表生成的model是扩展自\yii\db\ActiveRecord。而文件上传示例代码中用的自定义表单扩展自yii\base\Model;是不是这里的问题?

这么个简单的功能,这么难找到示例代码…

namespace backend\models;

use Yii;
use yii\web\UploadedFile;

class JiaoyanAward extends \yii\db\ActiveRecord
{
	public $imageFile;//上传的图片
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'jiaoyan_award';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
           // [['term', 'poster', 'class', 'award', 'organization', 'photo', 'self_value', 'check_value', 'check_time', 'status', 'remark'], 'required'],
            [['term'], 'integer'],
            [['self_value', 'check_value'], 'number'],
            [['discount'], 'boolean'],
            [['post_time', 'check_time'], 'safe'],
            [['poster', 'class', 'organization'], 'string', 'max' => 50],
            [['award', 'photo', 'remark'], 'string', 'max' => 100],
            [['status'], 'string', 'max' => 10],
			[['imageFile'], 'file',  'extensions' => 'png, jpg'],
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'term' => 'Term',
            'poster' => 'Poster',
            'class' => 'Class',
            'award' => 'Award',
            'organization' => 'Organization',
            'photo' => 'Photo',
            'self_value' => 'Self Value',
            'discount' => 'Discount',
            'check_value' => 'Check Value',
            'post_time' => 'Post Time',
            'check_time' => 'Check Time',
            'status' => 'Status',
            'remark' => 'Remark',
        ];
    }
	
	 public function upload()
    {
        if ($this->validate()) {
            $this->imageFile->saveAs('uploads/' . 'abc'. '.' . $this->imageFile->extension);
            return true;
        } else {
            return false;
        }
    }
}

最好不要改源文件 写个类来继承 修改子类

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

HarryEagle阅读(40)

  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阅读(36)

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

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

登录

找回密码

注册