谁一开始就是大神?

PHP 第85页

PHP

Pjax局部刷新,导致js点击效果失效[2.0]

foreverCherry阅读(30)

目前我的表单是通过 GridView 生成的,还用了 Pjax,我的表单有一个状态修改的操作是通过点击触发 ajax 修改的,当触发了 Pjax 局部刷新的效果之后,这个点击事件就没有效果了。还请各位大神,帮帮忙。
js代码:
QQ20150812-2@2x.png

如果是使用类似这样的匿名函数:
那么myid对应的html元素被ajax的返回值替换后将失效,需要重新在替换内容的语句之后再执行一次。
或者在html的元素中使用onclick属性,点击事件调用命名函数。
异步的问题吧··

checkboxList问题[2.0]

Elliefans阅读(32)

$tradeList = \common\models\Trade::find()->select('id,name')->all();
$trades = \yii\helpers\ArrayHelper::map($tradeList, 'id', 'name');

<?= $form->field($model, 'trade_ids')->checkboxList($trades) ?>

修改的时候 如果trade_ids是 ,29,30, 数据就显示不出来 如果是 ,29 就可以显示并选中 怎么搞定他

$model->trade_ids是否是逗号分隔字符串,如果是,请用explode(',',$trade_ids)将其转换为一个数组。关于checkboxList的详细用法见:http://www.yiichina.com/doc/guide/2.0/helper-html
你的trade_ids 用逗号分隔的? 这样当然不行…
如果你的 $model 是 \common\models\Trade 的实例.
$form->field($model, 'trade_ids') 换成 $form->field($model, 'id')
不是的话就……

请教大神YII2高级模板restful配置[2.0]

Kindfrog阅读(31)

背景是这样的,最开始开发的时候没有做restful和版本控制
控制器在frontend/controllers/
模型frontend/models/

现在想新开发的功能开始用restful 和 版本控制
并且能将以前的也兼容到restful里
求一份配置文件


$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'),
    require(__DIR__ . '/../../common/config/params-local.php'),
    require(__DIR__ . '/params.php'),
    require(__DIR__ . '/params-local.php')
);

return [
    'id' => 'app-frontend',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    #'controllerNamespace' => 'frontend\controllers',
    'controllerNamespace' => 'frontend\common\controllers',

    'modules' => [
        'v1' => [
            'basePath' => '@frontend/modules/v1',
        ],
        'v2' => [
            'basePath' => '@frontend/modules/v2',
        ],
    ],

    'components' => [

        'urlManager' => [
            'enablePrettyUrl' => true,
            'enableStrictParsing' => true,
            'showScriptName' => false,
            'rules' => [
                ['class' => 'yii\rest\UrlRule', 'controller' => ['user', 'user']],
                ['class' => 'yii\rest\UrlRule', 'controller' => ['v1/test', 'v1/post']],
                ['class' => 'yii\rest\UrlRule', 'controller' => ['v2/test', 'v2/post']],
            ],
        ],

        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
    ],
    'params' => $params,
];


我是克隆了frontend对应的配置,然后将main.php改成这样子的:
粗体

字符串为什么添加不了[2.0]

Harryseagull阅读(31)

控制器代码:
if ($model->load(Yii::$app->request->post()) ) {

 $model->trade_ids = implode(',',$_POST['Articles']['trade_ids']);
 //$model->trade_ids = '24,25';  
 if($model->save()){
     return $this->succ();
 }else{
     echo '错误';
 }

}
implode之后,$model->trade_ids =’24,25,26’这种格式的,这样是添加不上的,$model->trade_ids = ’24’; 这样是可以保存的。能帮忙解决一下吗?

會不會是你 models 設定的 rules 規則不符!!?
你可以用 $model->errors; 印出來錯誤看看
你把,换成别的分隔符试下
没错误信息,也不好确定问题在哪。
看这情况, 最大的可能就是 : trade_ids 验证规则设成了 integer
看你错误信息,你提交的数据还是数组,不是字符串。

关于Yii的数据库操作[2.0]

foreverfans阅读(30)

教程上是写的

$user = new User;
$user->username = "1234";
$user->telephone = "123456";
$user->insert();

这样就能插入一条数据了,但是我这里没有反应,后来我只能写成

$user->insert('user',['username','telephone'],["1234","123456"]);

这样才能插入数据

另外,如果想update数据,该怎么写呢,$user->update()也用不了

是save()
`
$user = new User;
$user->username = “1234”;
$user->telephone = “123456”;
$user->save();
`
更新的话,你先查找,然后设置值之后可以直接save

UploadedFile不支持Excel的金山.et以及MS的2003.xls,仅支持xlsx[2.0]

acgStag阅读(36)

最近想导入Excel格式的文件,主要是xls的,希望兼容.et和xlsx的Excel文件,但是只有xlsx的格式可以顺利导入啊。
我的代码rules如下:
finfo_file(/opt/lampp/temp/phphsrimj): failed to open stream: 没有那个文件或目录

public function rules()
{
    return [
        ['file', 'required'],
        // file has to be a valid excel file
        [['file'], 'file',  'extensions' => 'jpg, gif, et, xls, xlsx', 'maxSize'=>1024*1024*20],
    ];
}

经测试,jpg,gif,xlsx都是可以的,唯独xls跟et不行。哪位可有良策,哪怕最后可以加入xls,不需要et都行。先谢谢啦。

http://www.yiichina.com/doc/guide/2.0/tutorial-core-validators 按道理是可以 这个里面都写了

修改失败时提示信息显示问题[2.0]

Leopony阅读(30)

if($endtime > $starttime){

$model->starttime = $starttime;
$model->endtime = $endtime;
if($model->save()){
     return $this->succ();
}

}else{

 //在本页提示开始时间不得大于结束时间

}

开始时间和结束时间都已接受过来,并且转换成时间戳格式,如果开始时间大于结束时间,在修改页面显示提示信息:开始时间不得大于结束时间

我估计你是想这样吧?请看:
所以你的问题呢?
兩種方法 (建議第一種比較好)
第一種:
比較建議你在前端 javascript 的時候就寫 js 去達成效果(選擇開始時間後 結束時間就只能選擇開始時間之後的時間)
套件都可以去設定 或者自行寫程式
第二種:
不然就是把你要判定的規則寫在models裡 —- 舉例如下 :
用ajax 去呼叫 或者送出後從表單回傳錯誤訊息回去

Yii::$app=>怎麼製成的相關文件!![2.0]

HazelKeo阅读(30)

想在這假日 搞清楚 Yii如何使用:
Yii::$app 這個會跑出 object( yii\web\Application )
想知道他的做法 不知道各位有沒有甚麼參考文件
我網路上搜尋 都找不太到類似的文件 我也很願意看源碼
但不知道從哪邊下手 請問有甚麼能提供我的資訊!!(或是建議)

台胞? 看得我好费劲 …… 哈哈
先说 Yii::$app 的奥秘 :
\yii\web\Application 这个抽象类的构造函数,
第一句就是 : Yii::$app = $this;, 就是在这里完成的绑定;
至于 如何阅读源码;
我觉得 不要为了阅读源码而阅读源码…
最好的方式是 实际使用中, 哪里出问题了, 哪里不清楚了, 去框架源码内追踪, 查看;
这样以点带面, 慢慢扩散开, 慢慢就理清了.

关于yii2.0的session问题[2.0]

AibyStag阅读(29)

问题1:在使用session时候用不用写session->open()
因为我写的时候无论有没有session->open()都可以用session

问题2:当我设置了$session->setCookieParams(['lifetime'=>'1200']);
session的时间是不是就是20分钟(1200s)?

问题3,当我使用session记录我的登录状态,并想退出的时候,我使用 $session->destroy();
并没有用,最后我只能使用,$session->removeall();来删除我刚刚用session记录的数据,但是这样只是删除了数据,session并没有被销毁啊

问题3,session删除了数据 不等于 销毁 ?
session的作用不就是保存数据,数据都删除了,留下一个id,又有何用?
问题2,session时间默认是服务器上配置的

默认排序问题[2.0]

Elliehappy阅读(28)

看了下SQL默认没有排序,怎么做到默认id desc?

public function actionIndex()
{
    $sort = new Sort([
        'attributes' => [
            'id' => [
                'desc' => ['id'=>SORT_DESC],
                'asc' => ['id'=>SORT_ASC],
                'default' => SORT_DESC,
                'label' =>'#Id',
            ],
            'hot' => [
                'asc' => ['hot'=>SORT_ASC],
                'desc' => ['hot'=>SORT_DESC],
                'label' =>'#即时热度',
            ],
            'add_hot' => [
                'asc' => ['add_hot'=>SORT_ASC],
                'desc' => ['add_hot'=>SORT_DESC],
                'label' =>'#增减热度',
            ],
        ],
    ]);

    $query = Dynamic::find();

    $pages = new Pagination([
        'defaultPageSize' => 10,
        'totalCount' => $query->count(),
    ]);

    $models = $query
        ->where(['status' => 0])
        ->orderBy($sort->orders)
        ->offset($pages->offset)
        ->limit($pages->limit)
        ->all();

    return $this->render('index',[
        'models' => $models,
        'sort' => $sort,
        'pages' => $pages,
    ]);
}

$query = Dynamic::find()->orderBy(['id' => SORT_DESC]);
请问,我设置一个默认排序后,想在前台页面自己点击某个head是自动排序(升或降)?如何写?模仿你的默认会写了,谢谢!
mark,非常感谢

登录

找回密码

注册