Laravel 路由對資料庫操作
藉由路由夾帶參數輸入再透過邏輯轉呼叫資料庫
回應結果內容 , 有沒有發現,這好像就是api
是的,本來要拿 Laravel做api ,但因一些緣故最後又放棄使用
退回到傳統的 php架構上
查詢(1) : 一般SQL寫法 app/route.php
Route::get('api/test/openlist/get/{limit?}' , function($limit = 50)
{
$result = DB::select("SELECT * FROM OpenList where id = ?"
, array(1) );
return Response::json($result) ;
});
Route::get('api/test/openlist/get/{limit?}' , function($limit = 50)
{
$result = DB::select("SELECT * FROM OpenList where id = ?
AND serverid = ?", array(1,54671) );
//欲查詢變數順序,依array內容順序
return Response::json($result) ;
});
查詢(2) : 物件寫法 app/route.php
DB::table(“OpenList”)->get();//查詢所有
DB::table("OpenList")->take(5)->get(); // 只查5筆
DB::table('users')->where('name', ‘uccu’)->get();
// 查name欄位值為uccu的資料
DB::table('roles')->lists('title', 'name');
//查roles裡的title,name欄位
$users = DB::table('users')
->where('votes', '>', 100)
->orWhere('name', 'John')
->get();
插入(1):一般sql寫法 add/route.php
Route::get('api/sqlcmd/insert/' , function()
{
DB::insert('insert into users (id, name)
values (?, ?)', array(1, 'Dayle'))
});
插入(2): 物件寫法 app/route.php
Route::get('api/sqlcmd/insert/' , function($limit = 50)
{
DB::table("users")->insert( array('name' => 'hahaha' ,
'email'=> 'hahaha@gmail.com') );
//一次插入一筆資料
DB::table('users')->insert(array(
array('email' => 'taylor@example.com', 'votes' => 0),
array('email' => 'dayle@example.com', 'votes' => 0),
));
//一次插入多筆資料
});
更新(1):一般sql寫法 add/route.php
Route::get('api/sqlcmd/update/' , function($limit = 50)
{
DB::update('update users set votes = 100 where
name = ?', array('John'));
});
更新(2):一般sql寫法 add/route.php
Route::get('api/sqlcmd/update/' , function($limit = 50)
{
DB::table('users')->where('name', ‘hahaha’)->
update(array('name' => ‘uccuu’, 'email' => 'uccuu@gmail.com'));
});
刪除(1):一般sql寫法 add/route.php
Route::get('api/sqlcmd/delete/' , function()
{
DB::delete('delete from users');
});
刪除(2): 物件寫法add/route.php
Route::get('api/sqlcmd/delete/' , function($limit = 50)
{
DB::table('users')->where('votes', '<', 100)->delete();
DB::table('users')->delete();
DB::table('users')->truncate();
});
沒有留言:
張貼留言