日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【laravel】laravel的基础学习笔记

發布時間:2025/5/22 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【laravel】laravel的基础学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

好久沒有寫博客了,差點忘了這個坑,現在要做公司的項目,趕緊回來學習下laravel

路由

路由用白話講就是把用戶訪問的地址,和你自己的控制器進行綁定,是用戶能訪問到你的控制器。

基本控制器

<?phpRoute::get('/', function () {return view('welcome');});?>

這就是最基本的路由,當你訪問應用根目錄的時候,這個路由將把你引導到一個視圖文件中,這種路由我們也可以叫視圖路由。

路由綁定控制器

Route::get('/','Master\SiteController@index');

路由約束

//通過where()可以使用正則來約束,傳遞路由的數據 Route::get('user/{id}','Master\SiteController@user') ->where('id','[0-9]+');

如果想在路由里加入參數呢?

那我們先要引入控制器概念

控制器

首先建立控制器,必須要遵守laravel的約定,繼承laravel的基類。

<?phpnamespace App\Http\Controllers;use App\User;use App\Http\Controllers\Controller;class UserController extends Controller{/*** 展示給定用戶的信息。** @param int $id* @return Response*/public function show($name){echo 'info-'.$name;}}

路由:

Route::get('info/{name}','Master\SiteController@show');

這樣就將你的控制器與路由綁定在一起了,現在可以試試打開本地網址看看。

自定義函數定義與使用

我們可以使用自己定義的函數,參考這里

一旦加載自定義函數成功,那么就可以在任何控制器里加載函數了。

模型

laravel最強大的地方就是他們的ORM系統,Eloquent ORM,點擊了解。

首先我們創建一個模型,我們只用優雅的命令行就行。

php artisan make:model Site

在你的APP目錄下面就會自動出現Site.php,這個php中已經幫你自動繼Eloquent。接下來我們需要綁定表名,當然默認情況下,默認關聯的表名是classname的復數形式,在這里就是sites,但是我們沒有這個表,所以我們還是要指定表名的。

class Site extends Model {//指定表名protected $table = 'user';//指定表主鍵protected $primaryKey = 'user_id';}

如果你表的主鍵不是以id為命名的話,那么你也要指定主鍵的。

使用模型對象查詢數據

/*** 數據查詢*/public function userList(){$list = Site::all();dd($list);}

dd()這個方法是laravel專門用來調試對象的,方法可以把對象的結構給打印出來。

如圖:

插入數據

save()添加數據

/*** 數據添加,用save()*/public function userAdd(){$user = new Site();$user->user_name = 'wangyaxiong';$user->email = '177379557@qq.com';$user->phone = 17737281981;$user->save();}

create()添加數據

/*** 數據創建,用create()*/public function userAddCreate(){$user = Site::create(['email'=>'9828193XX@qq.com','phone'=>1355445355X,'user_name'=>'morty']);//好用的打印對象結構的方法dd($user);}

注意save()與create()的區別:

  • 使用save()需要先new一個新的模型對象,create()不用。
  • 使用create()需要先在你的模型上指定 fillable 或 guarded 的屬性,因為所有的 Eloquent 模型在默認情況下都不能進行批量賦值。
  • /*** 可以被批量賦值的屬性。** @var array*/protected $fillable = ['user_name'];

    當然我們也可以用保護名單guarded()

    //制定create的保護名單protected $guarded = ['is_admin']; 注意:用save()的時候,注意如果有create_at和update_at時,save會自動維護字段,如果想關閉使用: // 關掉自動更新時間public $timestamps = false;

    更新

    save()

    /*** 數據更新,用save()*/public function userUpdateSave(){$user = Site::find(2);$user->email = '90000100@qq.com';$user->is_admin = 1;$user->save();}

    update()

    /*** 數據更新,用update()*/public function userUpdate(){Site::where('is_admin',1)->where('user_name','zhujunwei')->update(['phone'=>15926152932]);}

    注意save()與update()的區別:

  • save()適用于單條數據的字段更新,update()適用于批量更新。
  • update() saved 和 updated 的模型事件不會被更新的模型觸發。這是因為執行批量更新時,不會有任何模型被檢索出來。
  • 刪除

    delete()

    $flight = App\Flight::find(1);$flight->delete();

    destroy()

    App\Flight::destroy(1);App\Flight::destroy([1, 2, 3]);App\Flight::destroy(1, 2, 3);
    以上是這次學習的小筆記。

    總結

    以上是生活随笔為你收集整理的【laravel】laravel的基础学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。