laravel总结

1.指定目录创建资源型控制器并绑定模型

php artisan make:controller Admin/ArticleController --resource --model=\\Models\\Article

 

2.这个就是创建一个ArticelModel模型到/App/Model目录下

php artisan make:model ./Model/ArticleModel

 

3.创建控制器到/App/Http/Controller/api目录下

php artisan make:controller ./api/ArticleModel

 

4.创建迁移,表名中不需要加入表前辍:

php artisan make:migration 表名

 

5.运行所有未完成的迁移:

php artisan migrate

 

6.查询加入withTrashed,可以查询已经软删除的数据

$article::withTrashed()->find($navigationid);

 

7.万能路由:

Route::prefix('admin')->namespace('Admin')->middleware(['web', 'checkLogin', 'checkRule'])->group(function () {

Route::get('index', 'IndexController@index');

// Route::get('index/main', 'IndexController@main');

// Route::get('category/index', 'CategoryController@index');

 

//万能路由

Route::any('{controller}/{action}', function ($class, $action) {

$class = 'App\\Http\\Controllers\\Admin\\' . ucfirst(strtolower($class)) . 'Controller';

if (!class_exists($class)) {

$class = 'App\\Http\\Controllers\\Admin\\EmptyController';

}

$ctrl = \App::make($class);

return \App::call([$ctrl, $action]);

})->where(['class' => '[0-9a-zA-Z]+', 'action' => '[0-9a-zA-Z]+']);

 

});

 

8.laravel获取当前访问控制器和方法名称

$action = \Route::current()->getActionName();

list($class, $method) = explode('@', $action);

$controller = substr(strrchr($class, '\\'), 1);

var_dump($controller);var_dump($method);

 

9.输出sql调试语句

use DB;//引入DB

DB::connection()->enableQueryLog();#开启执行日志

$allModelAuth = $datamodel::where(['publish' => ENV('PUBLISH_ON'), 'pid' => ['neq', 0]])->get('href')->toarray();

print_r(DB::getQueryLog()); //获取查询语句、参数和执行时间

 

10.aravel在一个控制器中使用另一个控制器中函数的2个方法

方法1:直接继承改控制器,使用$this 调用

方法2:使用use引入该控制器,实例化一个变量upimg,然后使用 upimg调用该方法

use App\Http\Controllers\admin\DictionaryController; //use引入控制器

$dictionary = new DictionaryController; //实例化变量

$data = $dictionary->cache();

 

11.laravel 中将DB::select 得到的内容转为数组

$sql = "select count(*) as num from api_log where uid='{$this->uid}'";

$data = DB::select($sql);

$data = array_map('get_object_vars', $data);

 

12.laravel Eloquent ORM 字段自增与自减

laravel Eloquent ORM提供了两个方法来实现自增与自减,这两个方法都至少接收一个参数:需要修改的列。第二个参数是可选的,用于控制列值增加/减少的数目。

$Model->increment('votes');

$Model->increment('votes', 5);

$Model->decrement('votes');

$Model->decrement('votes', 5);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章