iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 16
2
Modern Web

PHP laravel的邂逅系列 第 16

DAY16-laravel Eloquent ORM

DAY16-laravel Eloquent ORM

Route::get('/findwhere', function(){
    $post = News::where('id',1)->orderBy('title','desc')->take(1)->get();
    return $post;
});

where:收尋特定欄位的資料,這邊會找到id=1的那一筆資料。
orderBy:針對某個去做排序的行為,又有分兩種,ASC為由小至大排列,DESC由大至小排列,如果都沒下這兩個參數,預設為由小至大派列的方法。
take:限定取得幾筆資料,假設結果收尋到很多比資料,這邊為1所以只會顯示一筆出來。
get:取出該筆資料,沒有get會出錯

$post = News::where('id','>',0)->orderBy('title','desc')->get();

where裡面也可以大於或小於的條件,來搜尋你要的資料

Route::get('/inserdata',function(){
    $post = new News;
    $post->title = 'goodjob';
    $post->description = '這是一則描述';
    $post->save();
});

使用model來新增一筆資料,而不只是用sql來新增料,可以看到要先new一個News的物件,存在$post的變數裡面,接著新增title和description的資料,最後記得新增完必須要下save()來儲存這個物件的資料,新增完以後就可以去資料庫看到多一筆資料了。

create新增資料

透過create新增資料的時候,記得也要在model裡面新增允許的欄位,這樣create才不會出錯,也確保了只有特定欄位的資料才能存進去。

Route::get('/create', function(){
    News::create(['title'=>'利用create新增的','description'=>'create的描述']);
});
class News extends Model
{
    //
    protected $table = 'news';
    protected $fillable = ['title','description'];
}

上一篇
DAY15-laravel sql query介紹 PART 2
下一篇
DAY17-GIT 常用指令
系列文
PHP laravel的邂逅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言