如何将默认生成的curd显示的列表页改成分页式的啊,求一个例子
本来就是分页式的啊 肯定是你数据不够、、、
如何将默认生成的curd显示的列表页改成分页式的啊,求一个例子
本来就是分页式的啊 肯定是你数据不够、、、
我在做一个图片多图片上传的功能 图片能上传成功 ,也能在视图页面正常显示。但是在二次修改的时候,一提交就没了 原因是在二次修改的表单里 你如果不选择图片 fileInput 表单里是空的所以就把数据库里的图片路径更新成空的了,我现在想到的解决办法是 (在二次修改的时候把原来已经上传的图片的路径显示在 fileInput 表单里,这样就可以避免了)
fileinput
是个例外,无论insert
操作还是update
,正常情况在表单中选择文件的地方是清空的,可能是w3c的定义。你也可以在接收POST数据之前
保存文件路径的字段的值,接收post数据之后
如果发现浏览器没有新文件upload,那么save
之前还原你之前保存的值即可。
你的方法也可以,有个负面影响就是用户体验会下降一些,和正常的文件上传表单感觉不一样。
骚年你确定你修改的model是findOne出来的而不是直接new出来的?
如果你在上传成功后添加数据库,那么插入库的时候没有把图片地址插库?
如果你的图片路径指的是本地路径的话,这样是行不通的,因为我记得OSX或者Linux系统是没办法获取这个路径的。
我的解决方案:
大家好,请问, 使用AR updateAll
是不是 不会触发 afterUpdate
等事件?
类似的内容 请问哪里查看? 代码中是否可以 在使用 updateAll
之后 手工触发 afterUpdate
事件?
updateAll()
只返回受影响的行数,那个行数在一个事件里能玩出什么名堂呢?所以afterUpdate对于updateAll来说没有任何意义。你想干什么,就在调用updateAll()
之后调用一个函数就好了,或者触发一个自定义的事件。
比较update()和updateAll()的区别。或者看这两个函数的框架源码。updateAll
不能触发 afterUpdate
可以自己注册事件,然后emit
afterUpdateAll 这个来触发
试了很多,都没成功,谁有实例或者有过部署 markdown 经验,不胜感激啊。成功让我的页面部署上 markdown 编辑器,888分抱回家~~~
我用的是这个编辑器。
GitHub地址:http://github.com/toopay/bootstrap-markdown
DEMO演示:http://www.codingdrama.com/bootstrap-markdown/
拿去用吧,把分给我留下!
Bootstrap-Marokdown
任性了哈…
下次问个一次性花完钱的问题
我就是需要这个
就yii2.0.4版本下,是否有单纯的对文件的操作。比如要做个在线文件管理器,原有的相关类有吗?
或者是否有比较好的文件管理第三方库,求破????
感激不尽!!!
https://github.com/PendalF89/yii2-filemanager
可以参考下BaseFileHelper
我有a表和b表,他们有关联关系,b表是a表的外表,当我删除b中的内容时,会报代码级别的错误,那我怎样通过异常抛出来捕获异常,而不是报代码级别的错误?
以下是代码:
public function actionRequirementDelete($id,$page)
{
$page = $page + 1;
$requirement_data = Requirement::model()->findByPk($id);
$transaction = $requirement_data->dbConnection->beginTransaction();
try{
if($requirement_data->delete()){
$this->redirect(array('/user/employer','page'=>$page));
}else{
throw new Exception("订单删除失败");
}
$transaction->commit();
}catch (Exception $e){
$transaction->rollback();
echo $e->getMessage();
}
}
你的这个需求,其实有好几种解决方式:
1.是否一定需要报错?是否可以考虑在数据库里设置一下外键删除时的动作,比如CASCADE ?
2.如果按你说的,你需要删除时判断是否有从属数据,那么你应该先判断从属数据是否存在,而不是通过异常去处理,因为异常出现的可能性很多,不一定是因为存在从属数据导致。
3.我看到了你的异常捕获,
这种形式是正确的,但是你的思路错误,你认为delete()返回非true值时应该抛出一个异常,但是事实上delete()方法在删除报错时,内部已经先一步抛出了异常,也就是说,你的throw new Exception("订单删除失败");
应该是不会触发的。
心有余而力不足,唉,不会
自定义一个exception
比如UserException
或者OrderException
等等,然后只捕获这个异常 ,其他的异常让系统处理去吧
php的错误和异常不是一个统一的概念,php有的错误是无法捕获的,比如致命错误和编译错误等,如果抛出的是这两种错误,你没办法。如果抛出的是警告、提醒等,好像通过设置是可以通过CException捕获的。
可以先做unlinkAll,把有外键依赖的关系表中的数据先删除,类似
可不可以关联修改?
麻烦问下 yii2 中NavBar 怎么添加一个input框啊,有没有相关的资料推荐下哈
非常感谢, 尝试了很久
我写了个CommonController,其他Controller都继承这个类。
我在CommonController里写了输出JSON的方法
public function renderJson($params = array()) {
Yii::$app->response->format = Response::FORMAT_JSON;
return $params;
}
在CommonController的beforeAction写了验证
$isAjax = Yii::$app->request->getIsAjax();
//未登录
if (\Yii::$app->user->isGuest) {
if ($isAjax) {
return $this->renderJson(array(
'status' => -1,
'message' => '请先登录',
'url' => Yii::$app->getHomeUrl()
));
} else {
return $this->goHome();
}
}else{
return parent::beforeAction($action);
}
这样,如果不是ajax请求就没问题,会跳到登录 ,但是如果是ajax请求。就会出错
PHP Notice 'yii\base\ErrorException' with message 'Trying to get property of non-object'
求解答
beforeAction返回的应该是true或者false,要直接输出的话,应该还是返回false,通过response指定输出的内容,类似这样
试试将Response::FORMAT_JSON
换成'json'
,如果OK的话,说明CommonController没有这条语句:use yii\web\Response;
$_POST['images'] = serialize($_POST['images']);
怎么写出这个在YII2里。用YII2的方法。
研究了一下,目前有了具体答案了Yii::$app->request->post();
以上这一句的作用是判断是否是通过post提交,且可以给提交的name设定一个默认值,比如:Yii::$app->request->post('name','user_name');
我有发现当第二个参数不设定的时候返回的就是null,没啥用途。
真正让数据进入model层的在于 Model 下面的load()方法,载入的是提交后的值如下代码:
以上就是获取提交数据的简单粗暴的方法。到这里依然还没进入主题。
根据楼主的需求是,要对提交的值进行再次操作,也就是在入库前做些序列化也好或者是对数据进行进一步处理的好。怎么做呢?
从追踪代码来看,绕了好大的一个圈子,最后回到了Model层上,这个类中的某些方法完全可以完成我们的需求,请看代码:
总结:主要的核心症结在于,post过来后的数据,接下来的工作是由model层来完成的。就不要继续玩$_POST了。
希望可以帮到你!
如果大家觉得还有其他的比较方便的方式,还望告知!
我是鬼鬼,鬼一浪人
是也!201150612$_POST['images']
是什么类型的数据?为什么要序列化?
Yii::$app->request->post();//$_POST
微信表(wechat)
id,number(微信号)
文章表(artivle)
id,wechat_number(微信号)
这里没用id做关联
我在Article modle里面是这么写的:
'wechat_info'=>array(self:BELONGS_TO, 'Wechat', '', 'on'=>'t.wechat_number = wechat_info.number')
这是我在网站通过查资料后感觉应该这么写的,一直不成功,我有几个疑点
1、 t.wechat_number 中 t 代表什么,我个人感觉好像是文章表(article)的别名。不知道是不是我理解错了?
2、我看过一些示例,像我这么写的应该生成的是个左链接,但我看了报错代码,貌似没有生成左链接,报错的内容是t.wechat_number字段不存在
你的Article文章表有这个字段吗
t.代表主表别名
非主键关联的话可以用数组去建立关系