【laravel:只用一条语句,如何查出一个表里,不同条件对应的数据条数】教程文章相关的互联网学习教程文章

Laravel5基础(五)-环境与配置

.env 文件是配置文件,包括数据库配置信息,查看 config->database.php ,connections 里面包含了所有数据库的配置,可以在 default 中选择要使用的数据库。在数据库配置中,有关 env('DB_HOST', 'localhost') 就是读取 .env 配置文件的信息。第二个参数是缺省参数。我们使用 mysql 数据库,修改 .env:DB_HOST=localhost DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=在mysql中创建 laravel数据库mysql -u root CREATE DATAB...

Laravel5基础(二)-路由、控制器和视图简介

查看 app/Http/routes.phpRoute::get(/, WelcomeController@index); @是一个界定符,前面是控制器,后面是动作,表示当用户请求url / 的时候,执行控制器 WelcomeController 中的 index 方法app/http/controllers/welcomecontroller.phppublic function index() { return view(welcome); } 当前默认返回一个视图,视图的名字叫做 welcome,实际上是 welcome.blade.php,blade是laravel的视图模板。可以查看 `resources/views/welco...

Laravel5基础(九)-表单

首先让我们修改路由,能够增加一个文章的发布。 Route::get(articles/create, ArticlesController@create); 然后修改控制器public function create() {return view(articles.create);} 我们返回一个视图,新建这个视图。我们当然可以直接使用HTML建立表单,但我们有功能更好的办法。我们使用一个开源库,Jeffrey Way 开发的illuminate\html。安装依赖库: composer require illuminate/html laravel的库需要注册到laravel中才能使用...

Laravel5基础(八)-模型、控制器、视图基础流程

添加路由Route::get(artiles, ArticlesController@index);创建控制器php artisan make:controller ArticlesController --plain修改控制器可以在浏览器中看到返回的 JSON 结果,cool! 修改控制器,返回视图public function index() {$articles = Article::all();return view(articles.index, compact(articles));} 创建视图 @extends(layout)@section(content)Articles@foreach($articles as $article){{$article->title}}{{$artic...

Laravel5基础(四)-Blade简介

在多个页面中我们可能包含相同的内容,像是文件头,链接的css或者js等。我们可以利用布局文件完成这个功能。 让我们新建一个布局文件,例如 views/layout.blade.phpDocument @yield(content)我们创建了不解的结构,引入了bootstrap,注意 @yield 是blade的布局占位符,未来我们的页面内容将填充到这里,修改 about.blade.php @extends(layout)@section(content)About {{ $first }} {{ $last }}@stop 上面的代码表示我们使用布局文件...

Laravel5基础(七)-Eloquent(laravel的ORM)

我们来生成第一个模型php artisan make:model Article #输出 Model created successfully. Created Migration: 2015_03_28_062517_create_articles_table 查看一下生成的文件 app/Article.php没什么特别的,除了继承自 Model 以外,但是具有强大的功能,这些都封装在laravel的Model中。模型自动具有了 save() update() findXXX() 等强大的功能。tinker 是 laravel提供的命令行工具,可以和项目进行交互。php artisan tinker#以下是...

Laravel5基础(三)-向视图传送数据

我们在Routes.php中新建一个路由Route::get(about, PagesController@about); 在浏览器中浏览会获得一个错误,错误信息仅仅是一个提示信息,缺少细节,在生产环境 It ok,但是开发阶段我们希望获得详细信息。在项目的根目录找到 .env 文件,修改APP_DEBUG=true 这将显示详细的错误信息,PagesController 不存在。但在生产环境一定要设置为 false我们可以手工新建控制器,但更快的方式是利用 laravel 提供的生成器。在命令行当前项目...

Laravel5基础(十一)-表单验证

在建立一个文章的时候,如果你什么都不输入直接提交,ok,你获得了一个空的文章,没有任何错误提示,这是不对的。在命令行下运行 php artisan 可以看到一个选项 make:request,新建一个form request类。在命令行执行 php artisan make:request CreateArticleRequest 生成的文件在 app/http/requests 目录下。在文件中我们可以看到两个方法:public function authorize(){return false;}public function rules(){return [//];} auth...

Laravel5基础(三)-向视图传送数据(续)

我们不仅仅可以向视图传送一个数据,同样我们可以传送Arraypublic function about(){return view(pages.about)->with([first => Zhang,last => Jinglin]);} About {{ $first }} {{ $last }} 一种简洁的方式是这样:public function about(){$data = [];$data[first] = Zhang;$data[last] = Jinglin;return view(pages.about, $data);} 结果相同,更简单的是这样:public function about(){$first = Zhang;$last = Jinglin;return v...

Laravel5基础(十一)-子视图和表单复用

我们需要处理编辑文章的问题。当然我们可以手工添加新的路由,就像这样: Route::get(/articles/{id}/edit, ArticleController@edit); 让我们在命令行下使用 artisan 的 route:list 来查看我们当前的路由: php artisan route:list 在符合 RESTful 的情况下,可能直接使用 laravel 的 resource 路由是一种好的选择,然我们将所有的路由都去掉,只添加唯一的一个: Route::resource(articles, ArticlesController); 再次使用 php ar...

Laravel5基础(十)-日期,Mutator和Scope

在我们前面的解决方案中,直接给 published_at 赋值为当前日期实际上是一个临时解决方案,我们需要设定发布日期,可能是未来2天后才发布,让我们修改这个问题。 首先修改控制器:public function store() {Article::create(Request::all());return redirect(articles);} 然后修改视图,添加发布日期字段 @extends(layout)@section(content)Write a New Article{{--使用我们添加的 illuminate\html 开源库--}}{!! Form::open([url =...

Laravel5基础(十二)-认证

Laravel 出厂已经带有了用户认证系统,我们来看一下 routes.php,如果删除了,添加上: Route::controllers([auth => Auth\AuthController,password => Auth\PasswordController ]); 可以使用 php artisan route:list 查看一下。浏览器中访问 /auth/login,可以看到登陆界面,最好把系统默认的 app.blade.php 中关于 google 的东西注释起来,要不然你会疯掉的。 你可以使用 register、login甚至 forget password。 实际注册一个用户...

Laravel5基础(十一)-Eloquent关系

一个用户可能有多个文章,一个文章是某个用户书写的,这就是关系。同样文章中可能包含多个 TAG,而一个 TAG 可能关联多个文章。 在项目中,我们已经有了 User.php,也就是用户模型,查看一下,相当简单。我们希望直接使用 $user->articles() 的形式获取全部文章,让我们修改 user 模型:public function articles() {return $this->hasMany(App\Article);} 但是我们仅仅完成了关系中的一端,让我们来处理另一端。我们希望的形式是 ...

Laravel5源码解析(一)

Laravel5 源码解析autoload.php 用的是composer的autoload这里就不做说明了app.php 启动整个项目首先看下Application这个类class Application extends Container implements ApplicationContract, HttpKernelInterface Container中方法很多,实现了ArrayAccess,主要方法都是是用于绑定对象的(利于重用)。 ApplicationContract 需要实现注册service provider。 HttpKernelInterface 就一个handle方法,接受一个Request, 返回一...

关于Laravel5中的Container,CommandBus,Event

关于bind方法:- 这两种绑定相同,在$app->make()的时候,都返回一个新的实例 $this->app->bind(App\DAO\UserDAO,function(){return new UserDAOImpl();});$this->app->bind(App\DAO\UserDAO,App\DAO\Impl\UserDAOImpl);- bind还可以设置alias,如下,第一个参数传入数组,key为别名,value为接口名 $this->app->bind([dao.user => App\DAO\UserDAO],App\DAO\Impl\UserDAOImpl);- 第三个参数为true就是singleton...