perfectboook

1403 经验值

没必要非纠结vuejs,使用jquery ajax获取到数据之后,给vuejs里面的对象赋值。然后vuejs会自动更新界面显示的内容。

以bootstrap和font awesome 为例:

var paths={
    bootstrap:'./node_modules/bootstrap-sass/assets/',
    fontawesome:'./node_modules/font-awesome/'
};
elixir(function(mix) {
    mix.sass('app.scss','public/css/app-scss.css',{includePaths:[
        paths.bootstrap+'stylesheets/',
        paths.fontawesome+'scss/'
    ]});
});

gulpfile.js 里面这样写。sass文件里面也要有相应的引用代码。在app.scss里面加入:

//这两行是配置引入的bootstrap和fontawesome里面的变量值。
$icon-font-path: "/fonts/bootstrap/";
$fa-font-path:   "/fonts/fontawesome";

@import "bootstrap";
@import "font-awesome";

//下面写你自己的sass代码
//

laydate 或者bootstrap-datetimepicker。直接百度就可以找到。

是真实的进度。不过需要高版本的浏览器支持。低版本的浏览器就只能使用flash实现了。 @sswowo

正好最近有做这个,显示进度是客户端的操作。我并没有使用上传的插件。首先在head标签里面加上

    <meta name="_token" content="{ csrf_token() }">

然后是js代码:

    $("#upload_file").on('change',function(){
        if(!this.files.length) return false;
        var formData=new FormData();
        var file=this.files[0];
        formData.append('upfile',file,file.name);
        var xhr = new XMLHttpRequest();
        xhr.open('post','{ action('FileController@upload') }?dir={ $currentDir }',true);
        xhr.setRequestHeader('X-CSRF-TOKEN',$("meta[name=_token]").attr('content'));
        xhr.onload = function() {
            if (xhr.status === 200) {
                layer.alert("上传完成!",{},function(){
                    location.reload(true);
                });
            } else {
                alert('An error occurred!');
            }
        };
        /*主要是这里*/
        xhr.upload.onprogress=function(evt){
            $("#info").html('正在上传...'+Math.floor(100*evt.loaded/evt.total)+"%");
        }
        xhr.send(formData);
    });

upload_file是上传按钮的id。info是显示进度的div的id。里面还有用到layer.alert,你可以认为就是alert。当然最重要的一点是低版本的浏览器并不支持。。

其实最简单的办法是,把这个判断去掉,然后在你的Requests\StoreArticlePostRequest里面加上一条验证规则就都解决了:

public function rules()
    {
        return [
            /*其他规则,*/
            'image'=>'required'
        ];
    }

你提示完 “必须上传图片”之后,并没有return或者exit。当然会接着执行最后一句:

return redirect()->action('PostsController@show', ['id' => $article->id]);

而这个article现在是不存在的,可能你在show方法里面有其他的设置,导致跳转到了首页。

不要太迷信这个测试的吧。。我并没有感觉到慢。相当快~

另外说一下,你每次@别人,别人其实都是收不到的,在@符号的前面加上一个空格就可以了。

这个问题感觉有些乱,县级市应该是和县平级的,就是说要做的话,省市县应该是三级三个表。而且省的下面不应该是直接有县级市的,中间隔了一个市级。anyway,我按照你的需求写了一段代码:

Province::whereHas('cities',function($q){
    $q->where('xx','xx');
})->with(["cities"=>function($q){
    $q->where('xx','xx');
}])->get()

whereHas可以限制只显示有地级市的省。with限制的是有地级市的省只显示里面的地级市。$q->where('xx','xx');这里替换成你自己的判断地级市的条件。

这些用法都可以在 Eloquent 获取到。