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