Laravel5.3中的原生+查詢構造器+Eloquent ORM 常用整理
查:$users = DB::select('select * from users where active = ?', [1]);
更新:DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']);
插入:DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']);
刪除:$deleted = DB::delete('delete from users’);
二 查詢構造器,table() 可加多個約束條件 1 查詢所有資訊 $users = DB::table('users')->get();
2 查詢name為John的第一行 $user = DB::table('users')->where('name', 'John')->first();
4獲取單列title的列集合 $titles = DB::table('roles')->pluck('title'); 5 聚合函式 count max min avg sum $users = DB::table('users')->count(); $price = DB::table('orders')->max('price');
6 -》distinct()
10可以反回自增id $id = DB::table('users')->insertGetId( ['email' => '[email protected]', 'votes' => 0] );
11 更新 DB::table('users') ->where('id', 1) ->update(['votes' => 1]);
12更新數字 預設為1 decrement DB::table('users')->increment('votes', 5); 13更新數字加欄位組合 DB::table('users')->increment('votes', 1, ['name' => 'John']);
14 刪除 DB::table('users')->delete(); DB::table('users')->where('votes', '>', 100)->delete();
三 Eloquent ORM 物件關係對映(Object Relational Mapper)工具 模型中:use Illuminate\Database\Eloquent\Model
這裡在模型中還可以做如下的設定:
設定關聯模型的表 protected $table = ‘my_flights’; 設定是否表中有create_at 和update_at public $timestamps = fasle; 設定日期儲存格式 protected $dateFormat = 'U';
控制器中:書寫orm use App\Flight as flight;(敲黑板)
1 獲取 flight模型關聯表的所有資料 ——all方法返回所有結果 $flights = flight::all();
$flights = flight::where(‘id’,’148’)->get(); //獲取id為148 的所有列 $flights = flight::orderby(’time’,’desc’)->get();//獲取所有列,按照time欄位倒序排序 orm本質也是查詢構造器,所以可以使用查詢構造器中所有的方法 ,不一一列舉 2 沒找到就報錯:findorfail $list = article::find(148); 返回null
$list = article::findorFail(148); 返回404
3 插入a $Article = new article; $Article->title = '張帆'; $Article->save();
建立模型例項,設定對應的欄位屬性。save 插入b 怎麼突然開車了 = =。 $article = article::create(['title' => '何國龍']);
這樣是不行的,需要在model裡面宣告一下可以批量操作的欄位。fillable就像是白名單 protected $fillable = [’title’]; 並且這樣會返回插入的例項 。 對應的黑名單就是 guarded 。 可以 protected $guraded = []; 來快速設定所有欄位都可以自由插入。 插入c $flight = App\Flight::firstOrCreate(['name' => 'Flight 10']);
如果不存在name為flight 10 的記錄則插入 。 4 更新 $article = article::find(3); $article->title = 'xxx'; $article->save(); 建立模型例項,這裡與插入不同的是,需要先獲取想要更新的地方的模型。作為物件。然後進行更新。 article::where('title', 'xxx') ->where('user_id', '148') ->update(['body' => 185]);
更新title為xxx 且 user_id為148 的記錄 body更新為185 5 刪除a $article = article::find(7); $article->delete();
刪除b article::destroy(5);
刪除c $deletedRows = App\Flight::where('active', 0)->delete();
總結: DB適合用於對效能要求高或者業務邏輯簡單的專案,ORM適合業務邏輯比較複雜的專案。
相關推薦
Laravel5.3中的原生+查詢構造器+Eloquent ORM 常用整理
一。 db門面方法 use Illuminate\Support\Facades\DB; 查:$users = DB::select('select * from users where acti
Laravel 操作資料庫DB facade(原始查詢) 、查詢構造器、Eloquent ORM
一.DB facade連線資料庫操作檔案 config/database.php .envDB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=roo
Laravel 使用 查詢構造器配合原生sql語句 查詢
Laravel 原生查詢查詢構建器原生查詢分頁 首先說一下本人使用的版本: 5.5 在很多複雜查詢時, 往往需要原生語句進行查詢, 在 laravel 中, 我們可以這樣使用原生查詢 $user = DB::select('select * from users
Laravel5.1 數據庫-查詢構建器
通過 三個參數 date() tar 需要 between select() art fun 今兒個咱說說查詢構建器。它比運行原生SQL要簡單些,它的操作面兒也是比較廣泛的。 1 查詢結果 先來看看它的語法: public function getSelec
laravel 數據庫操作之查詢構造器
操作 大數 avg 李冰冰 數據庫操作 排序 span var table /** * 新增數據 * / $bool = DB::table(‘wt_001‘)->insert([‘username‘=>‘冰
jquery中,模糊查詢選擇器,帶 *= 的寫法具體什麼含義?
1、例如: $( "select[id*=ddlcpstyle1]" ) 1)*= 表示選擇 id 中包括 ddlcpstyle1 的 select <select id="AAAddlcpstyle1"></select> <select id="ddlc
Thinkphp5基礎——03 查詢構造器(Db類)
Db類基本使用 我們在使用Db類時,需要引入think\Db。 使用原生SQL Db::query() 查詢操作 Db::excute() 插入、更新、刪除操作 Db::getLast
第3條:用私有構造器或者列舉類型別強化Singleton屬性
一、公有final域靜態成員 //Singleton with public final field public class Elvis { public static final Elvi
laravel 查詢構造器 (一)
DB::table() 查詢構造器 演示 插入 insert() insert 裡面寫陣列。 返回一個布林值。 DB::table('user_ali') -> insert(['ali_us
CodeIgniter 查詢構造器(query builder)
最近開發專案時需要使用子查詢,研究一番後得出結果: <?php // Sub Query $this->db->select('*'); $this->db->from('TableB'); $subQuery = $this-&g
1-10.Laravel框架利用查詢構造器完成CURD(二)
DB類操作資料庫 DB門面(功能類) 按照MVC 的架構,對資料的操作應該放在 Model 中完成,但如果不使用Model,我們也可以用 laravel框架提供的 DB 類操作資料庫。而且,對於某些極其複雜的sql,用Model 已經很難完成,需要開發者自己手寫sql語句
TP5基礎——03 查詢構造器
Db類基本使用 我們在使用Db類時,需要引入think\Db。 使用原生SQL Db::query() 查詢操作 Db::excute()
Java中抽象類的構造器的作用
因為抽象類不可例項化,那麼只能在子類例項化時呼叫該抽象類的構造器才有用 看例項程式碼: abstract class Animal { Animal(){ System.out.println("抽象類Animal無參構造器"); //此處執行前會預設執行super
laravel 查詢構造器 (二)
get() //從資料表中取得所有的資料列 first() //取一條資料列 where() //寫條件 select() // 查詢部分欄位 chunk() // 分塊查詢 pluck() // 取某欄位值 lists() // 取某欄位值
ORMLite完全解析(三)官方文件第三章、自定義查詢構造器 Custom Query Builder
接著上一篇,下面是第三章的翻譯整理,理解錯誤的地方還請批評指正。 第三章、 自定義查詢構造器 3.1 查詢構造器基礎 下面是使用查詢構造器建立自定義查詢語句的基本步驟。首先,以java常量的形式為屬性設定列名,便於使用它 們進行
第3條:用私有構造器或者列舉型別強化Singleton屬性
術語: Singleton:指僅僅被例項化一次的類。 Singleton會使它的客戶端測試變得十分困難,因為無法給Singleton替換模擬實現,除非它實現一個充當其型別的介面。 實現Singleton有以下三種方法: 1、實現公有靜態成員
【TP5 :資料庫:查詢構造器:鏈式操作】join
join INNER JOIN: 等同於 JOIN(預設的JOIN型別),如果表中有至少一個匹配,則返回行 LEFT JOIN: 即使右表中沒有匹配,也從左表返回所有的行 RIGHT JOIN: 即
thinkphp5 資料庫和模型詳解 之2 查詢構造器及高階技巧
1、掌握查詢構造器對於掌握資料庫和模型的查詢操作非常關鍵 2、使用查詢構造器一般都是自動例項化查詢類,Db類的任何方法都會自動呼叫connect方法返回連線物件例項,然後呼叫連線物件的查詢構造器方法會自動例項化查詢類。 3、db助手函式預設每次呼叫都會重新連線資料庫(目的是
(3):用私有構造器或者列舉型別強化Singleton屬性
在java 1.5版本發行前實現單例一般有兩種方法 (1)靜態成員 public class Elvis { public static final Elvis INSTANCE = new Elvis(); private Elvis() {
【TP5 :資料庫:查詢構造器:鏈式操作】cache
cache cache方法用於查詢快取操作,連貫操作方法 用於select、find、value和column方法,以及其衍生方法 在快取有效期之內不會再次進行資料庫查詢操作,而是直接獲取快取中的資料 //find方法使用cache方法 Db::ta