① laravel 原生sql語句,查詢構造返回以數組形式返回
$nodes = Db::table('account')->orderBy('sort', 'asc')->orderBy('id' ,'asc')->get()->map(function ($value) {
return (array)$value;
})->toArray();
② 如何運行比如人寫的laravel項目
首先將項目拷貝至Web伺服器的文檔目錄下,比如 /laravel,假設你伺服器的本地地址為http://localhost,那麼此項目的地址應該為:http://localhost/laravel/public。很多情況下可能也需要你配置一個虛擬主機模螞,需要修改(假設為)Apache的vhosts.conf和本地的hosts文件。
vhosts.conf
<VirtualHost*:80>
[email protected]
DocumentRoot"/www/test/public"纖碼伏
ServerNamelocal.dev.com
ServerAliaslocal.dev.com
ErrorLog"logs/test-error_log"
毀攜CustomLog"logs/test-access_log"common
<Directory"/www/test/public">
OptionsIndexesFollowSymLinks
AllowOverrideAll
Orderallow,deny
Allowfromall
</Directory>
</VirtualHost>hosts
127.0.0.1local.dev.com
經過以上配置後,重啟伺服器,就可以通過http://local.dev.com訪問該項目。
2. 如果存在資料庫,需要對資料庫做一下設定。首先,根據/app/config/database.php中的設定建立資料庫。如果項目提供了資料庫的DDL SQL文,那麼直接將其導入資料庫。如果是Laravel的Migrations,那麼直接在項目根目錄運行如下artisan命令:
phpartisanmigrate
大概以上兩步就足夠了,如果項目還有其他設定需要,可參考他們的文檔。
③ laravel 輸出中文亂碼
laravel框架 這個我倒是沒用過 但是 框架應該 有屬性設置的枝辯,如果你的框架 安裝的時候稿搭握 默認GBK 創建項目的時候 UTF8 PHP 基鍵慶本用這個 所以會亂碼,調節下你的1框架默認編碼格式
④ 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函數,會導致不通用。這一點需要考慮一下~
⑤ laravel 怎麼調用mysql存儲過程
laravel並沒有提供直接調用存儲過程的實現,只能通過拼sql的方式調用存儲過程,比如:
DB::statement('call存儲過程名稱(參數)');
或者
DB::select('call存儲過程名稱(參數)');
⑥ 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 ORM怎麼列印出執行sql語句
aravel提供了3種操作資料庫方式:DBfacade(原始方式)、查詢構造器和EloquentORM。下面我將逐一講解。資料庫的配置文件在config目錄下的database.PHP里。打開這個文件,找到MySQL的配置項。這里有個env,它其實是調用了laravel根目錄下的.env文件,這個文件存儲了資料庫的配置信息。打開它。修改為項目的資料庫信息即可。請自行建一個資料庫,其中資料庫得包含vipinfo表,並且插入一些數據,以方便下面使用。表的結構如下圖。
⑧ laravel資料庫查詢,在資料庫裡面可以運行,在代碼裡面錯誤
在group by 後邊加多「,activity_scheles.title"
原因:sql基本語法錯誤,group by 後邊要跟select列名保持一致,mysql沒報錯可能是因為你關了ONLY_FULL_GROUP_BY這個sql_model
⑨ laravel 操作資料庫需要判斷是否成功嗎
一、讀/寫連接
有時您可能希望使用一個SELECT語句的資料庫連接,,另一個用於插入、更新和刪除語句。Laravel使這微風,將始終使用正確的連接是否使用原始查詢,查詢生成器或雄辯的ORM。
如何讀/寫連接應該配置,讓我們看看這個例子:
復制代碼 代碼如下:
'mysql' => array('read' => array('host' => '192.168.1.1'),'write' => array('host' => '196.168.1.2'),'driver' => 'mysql','database' =>'database','username' => 'root','password' => '','charset' => 'utf8','collation' => 'utf8_unicode_ci','prefix' => '')
注意,兩個鍵添加到配置陣列:讀和寫。這兩個鍵有數組值包含一個關鍵:主機。其餘的讀寫資料庫選項從主mysql連接將合並後的數組。所以,我們只需要將物品放入讀取和寫入數組如果我們希望覆蓋主要數組中的值。所以,在這種情況下,192.168.1.1將被用作「讀」連接,while192.168.1.2將被用作「寫」連接。資料庫憑證、前綴、字元集和所有其他選項在主mysql數組將跨兩個共享連接。
二、運行查詢
一旦你已經配置了資料庫連接,你可以使用DB運行查詢類。
運行一個Select查詢
復制代碼 代碼如下:
$results = DB::select('select * from users where id = ?', array(1));
結果的選擇方法總是返回一個數組。
運行一個Insert語句
復制代碼 代碼如下:
DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
運行一個更新語句
復制代碼 代碼如下:
DB::update('update users set votes = 100 where name = ?', array('John'));
運行一個Delete語句
復制代碼 代碼如下:
DB::delete('delete from users');
注意:update和delete語句返回的行數的影響操作。
運行一個通用聲明
復制代碼 代碼如下:
DB::statement('drop table users');
查詢事件監聽
你可以查詢事件監聽使用DB::聽方法:
復制代碼 代碼如下:
DB::listen(function($sql, $bindings, $time){ //});
三、資料庫事務
運行在一個資料庫事務的一組操作,您可以使用事務方法:
復制代碼 代碼如下:
DB::transaction(function(){ DB::table('users')->update(array('votes'
=> 1)); DB::table('posts')->delete();});
注意:在事務拋出的任何異常關閉將導致自動事務將回滾
有時你可能需要開始一個事務:
復制代碼 代碼如下:
DB::beginTransaction();
你可以通過回滾事務回滾方法:
復制代碼 代碼如下:
DB::rollback();
最後,您可以通過提交方法:提交一個事務
復制代碼 代碼如下:
DB::commit();
四、訪問連接
當使用多個連接,你可以訪問它們通過DB::連接方法:
復制代碼 代碼如下:
$users = DB::connection('foo')->select(...);
你也可以訪問原始的、潛在的PDO實例:
復制代碼 代碼如下:
$pdo = DB::connection()->getPdo();
有時你可能需要重新連接到一個給定的資料庫:
復制代碼 代碼如下:
DB::reconnect('foo');
如果你需要斷開從給定的資料庫將超過底層PDO實例'smax_connections限制,使用斷開連接方法:
復制代碼 代碼如下:
DB::disconnect('foo');
五、查詢日誌
默認情況下,Laravel日誌保存在內存的所有查詢運行當前的請求。然而,在某些情況下,例如當插入的行數,這可能會導致應用程序使用多餘的內存。禁用日誌,你可以使用disableQueryLog方法:
復制代碼 代碼如下:
DB::connection()->disableQueryLog();
o得到一組執行的查詢,您可以使用getQueryLog方法:
復制代碼 代碼如下:
$queries = DB::getQueryLog();