⑴ php框架 laravel 多重條件查詢。對資料庫查詢,在滿足日期范圍查詢的同時在滿足一個或幾個條件查詢。
laravel的where條件可以無限制加的,想加多少個加多少個的
$result=Model::whereIn(/*條件1*/)
->whereNotIn(/*條件2*/)
->whereBetween(/*條件3*/)
->where(/*條件4*/)
->orderBy()
->get()
//類似這樣的,where條件可以接很多個,沒有限制
⑵ laravel5 如何查看最後一條sql語句
coposer 載入 laravel-debugbar
⑶ laravel ORM怎麼列印出執行sql語句
laravel ORM怎麼列印出執行sql語句。
QueryBuilder類中有toSql方法可以獲取sql語句的。
$sql = UserModel::query()->where('username','admin')->toSql();
dd($sql); //select * from user_table where username = 'admin'
⑷ laravel 如何通過資料庫連接多資料庫獲取數據
在datebase.php文件中
'mysql' => [ 'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', ''), 'username' => env('DB_USERNAME', ''), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8', 'collation' => 'utf8_general_ci', 'prefix' => 'wx_', 'strict' => false, 'engine' => null,
],'mysql_server' => [ 'driver' => 'mysql', 'host' => env('DB_HOST_SERVER', 'localhost'), 'port' => env('DB_PORT_SERVER', '3306'), 'database' => env('DB_DATABASE_SERVER', ''), 'username' => env('DB_USERNAME_SERVER', ''), 'password' => env('DB_PASSWORD_SERVER', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8', 'collation' => 'utf8_general_ci', 'prefix' => 'wxs_', 'strict' => false, 'engine' => null,
],
在.env配置中
DB_CONNECTION=mysqlDB_HOST=localhostDB_PORT=3306DB_DATABASE=DB_USERNAME=DB_PASSWORD=DB_HOST_SERVER=localhostDB_PORT_SERVER=3306DB_DATABASE_SERVER=DB_USERNAME_SERVER=DB_PASSWORD_SERVER=123456789101112
在model文件中使用:
//第一種namespace App\Http\Models\Test;use DB;use Illuminate\Database\Eloquent\Model;class ispTest extends Model{
protected $connection = 'mysql_server'; private $table_name = 'users'; function serip(){
$res = DB::table($this->table_name)->connection($this->connection)->where('regip','=','0.0.0.0')->get(); return $res->toArray();
}
}?>//第二種namespace App\Http\Models\Test;use DB;use Illuminate\Database\Eloquent\Model;class ispTest extends Model{
protected $connection = 'mysql';//可以加可以不加
private $table_name = 'users'; function serip(){
$res = DB::table($this->table_name)->where('regip','=','0.0.0.0')->get(); return $res->toArray();
}
}2930313233
⑸ laravel資料庫查詢,在資料庫裡面可以運行,在代碼裡面錯誤
在group by 後邊加多「,activity_scheles.title"
原因:sql基本語法錯誤,group by 後邊要跟select列名保持一致,mysql沒報錯可能是因為你關了ONLY_FULL_GROUP_BY這個sql_model
⑹ laravel查詢資料庫為什麼會很慢
laravel能大大的提高我們的開發效率,一般情況下,這種開發框架都會有一個問題,那就是執行效率很低。看到這里估計很多同學都會說「這很簡單嘛,加機器嘛」,但是如果你的產品並發量很大,這可不是單單加機器的問題了,所謂的加機器,只能是在同一個數量級的並發量情況下的解決方案而已。
laravel的效率有多低呢?有興趣的同學可以用ab來測一下QPS,就算是啥業務邏輯都沒有,也是非常的低。那為啥那麼的低呢?我用xhprof來Profiling了一下,圖太大,所以只看一小部分吧
看到中間紅框框出來的地方沒?這里只做了一個操作,就是添加路由,也就是說在我們這個項目里,光添加路由就要80+ms,多麼恐怖呀!
⑺ laravel怎麼在連接查詢中執行sql語句
QueryBuilder類中有toSql()方法可以獲取sql語句的
比如:
$sql = UserModel::query()->where('username','admin')->toSql();
dd($sql); //select * from user_table where username = 'admin'
⑻ laravel 查詢資料庫獲取結果如何判斷是否為空
你用ORM方式還是直接用資料庫方式來查詢結果是否為空,都可以用count($data)方法來驗證,$data就是你查詢的結果
⑼ laravel orm where 條件中 mysql函數 怎麼用
這種ORM,肯定會支持的一個功能就是 直接使用原生SQL。所以~ 懂了吧
--1.插入數據
DB::insert('insertintousers(id,name,email,password)values(?,?,?,?)',[1,'Laravel','[email protected]','123']);
--2.查詢語句
$user=DB::select('select*fromuserswhereid=?',[1]);
--我們還可以看到在執行查詢的時候使用了參數綁定,以避免SQL注入。除此之//外還可以使用命名綁定:
$user=DB::select('select*fromuserswhereid=:id',[':id'=>1]);
--3.更新語句
$affected=DB::update('updateuserssetname="LaravelAcademy"wherename=?',['Academy']);
--4.刪除語句
$deleted=DB::delete('deletefromusers');
但是這種使用MySQL函數,會導致不通用。這一點需要考慮一下~
⑽ laravel5怎麼在路由中使用資料庫查詢
Route::model('user','User');
Route::get('/hi', function(){
header('content-type:text/html;charset=utf8');
//$rs=DB::select('select * from cf_user limit 0,100');
$rs=User::find();
dd($rs);
//return"hi";
});
資料庫:
資料庫配置:
'mysql' => [
'driver' => 'mysql',
'host' => 'localhost',
//'host' => env('DB_HOST', 'localhost'),
'database' => 'test',
//'database' => env('DB_DATABASE', 'forge'),
'username' => 'root',
//'username' => env('DB_USERNAME', 'forge'),
'password' => 'qaz123',
//'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],