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);

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