新聞中心
在Laravel中設(shè)置默認(rèn)值是很方便的,Laravel提供了很多很好用的功能和簡單的方法,讓我們可以快速地設(shè)置數(shù)據(jù)庫中的默認(rèn)值。

創(chuàng)新互聯(lián)公司主營遜克網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),遜克h5小程序制作搭建,遜克網(wǎng)站營銷推廣歡迎遜克等地區(qū)企業(yè)咨詢
本文將講解Laravel中如何設(shè)置數(shù)據(jù)庫默認(rèn)值。
為什么需要默認(rèn)值?
默認(rèn)值是指當(dāng)插入一條數(shù)據(jù)時,如果這條數(shù)據(jù)缺少某些字段,那么這些字段會被自動填充為默認(rèn)值。默認(rèn)值可以避免人為錯誤和程序異常,保證數(shù)據(jù)的完整性。因此,為表中的字段設(shè)置默認(rèn)值是很重要的。
如何設(shè)置默認(rèn)值?
Laravel提供了兩種設(shè)置默認(rèn)值的方法:使用遷移文件、使用模型類。
方法一:使用遷移文件
在遷移文件中可以使用default()方法對字段設(shè)置默認(rèn)值,例如:
“`php
Schema::create(‘users’, function (Blueprint $table) {
$table->bigIncrements(‘id’);
$table->string(‘name’);
$table->string(’eml’)->unique();
$table->timestamp(’eml_verified_at’)->nullable();
$table->string(‘password’);
$table->rememberToken();
$table->timestamps();
$table->integer(‘score’)->default(0);
});
“`
在上述例子中,我們?yōu)閟core字段設(shè)置了默認(rèn)值為0。這樣,在插入數(shù)據(jù)時,如果缺少score字段的值,它會被自動填充為0。
方法二:使用模型類
除了在遷移文件中設(shè)置默認(rèn)值,還可以在模型類中使用$attributes屬性設(shè)置默認(rèn)值。例如:
“`php
class User extends Authenticatable
{
use Notifiable;
protected $fillable = [
‘name’, ’eml’, ‘password’,
];
protected $hidden = [
‘password’, ‘remember_token’,
];
protected $casts = [
’eml_verified_at’ => ‘datetime’,
];
protected $attributes = [
‘score’ => 0,
];
}
“`
在上述例子中,我們在User模型類中設(shè)置了score字段的默認(rèn)值為0。這樣,在插入數(shù)據(jù)時,如果缺少score字段的值,它會被自動填充為0。
配置Laravel默認(rèn)數(shù)據(jù)庫值
Laravel還提供了默認(rèn)的數(shù)據(jù)庫值配置文件,您可以在其中設(shè)置公共默認(rèn)值。在Laravel App中,config/database.php是所有數(shù)據(jù)庫配置的入口點。在默認(rèn)情況下,此文件定義了以下默認(rèn)值:
‘mysql’ => [
// …
‘strict’ => true,
‘engine’ => null,
‘timezone’ => ‘+00:00’,
],
這里的strict選項是數(shù)據(jù)庫級別的,它啟用了MySQL的嚴(yán)格模式,如果禁用,您將獲得不可預(yù)測的查詢結(jié)果。
MySQL表級別的默認(rèn)選項也可以在創(chuàng)建表時指定,如下所示:
CREATE TABLE users(
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) DEFAULT ”,
bucket VARCHAR(10) DEFAULT NULL
);
上面的命令將為name設(shè)置空字符串默認(rèn)值,并為bucket設(shè)置NULL默認(rèn)值。將默認(rèn)值設(shè)置為空字符串是為了在向數(shù)據(jù)庫中添加新數(shù)據(jù)時,確保不會使用NULL作為默認(rèn)值。
本文主要介紹了如何在Laravel中設(shè)置數(shù)據(jù)庫默認(rèn)值。您可以使用遷移文件和模型類來設(shè)置默認(rèn)值,還可以使用配置文件來設(shè)置公共默認(rèn)值。根據(jù)具體的業(yè)務(wù)需求,在Laravel中為您的應(yīng)用程序設(shè)置默認(rèn)值是十分重要的。希望這篇文章對您有所幫助。
相關(guān)問題拓展閱讀:
- laravel 怎么用原生態(tài)的mysql查詢
laravel 怎么用原生態(tài)的mysql查詢
Laravel框架中的DB類讓我們可以方便的進行數(shù)據(jù)庫操作,比如常見的query查詢:
DB::query(‘SELECT * FROM users’);
Larvel還提供了類似CI框架中Active Record的Fluent Query Builder : DB::table(‘user’)->where(‘id’,’=’,’1′)->get();
雖然從操作上和普通查詢相差不大,但是需世運要注意到是Laravel的查詢結(jié)果和原生查詢不同。
簡單建立一個contents表測試下,表里有content字段,我們查詢一下:
$content = DB::table(‘contents’)->where(‘id’,’=’,’搜改梁1′)->get();
最后打印一下$content變量看看有什么不同:
array(1)
{
=> object(stdClass)#31 (1) {
=> string(24) “這是一個測試~~” }
}
從殲散上面可以知道查詢的結(jié)果是一個包含對象的數(shù)組,因此我們要取得content值就必須先迭代:
foreach($contents as $content)
{ echo $content->content;
}
laravel 數(shù)據(jù)庫默認(rèn)值的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于laravel 數(shù)據(jù)庫默認(rèn)值,Laravel數(shù)據(jù)庫默認(rèn)值設(shè)置詳解,laravel 怎么用原生態(tài)的mysql查詢的信息別忘了在本站進行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
分享文章:Laravel數(shù)據(jù)庫默認(rèn)值設(shè)置詳解(laravel數(shù)據(jù)庫默認(rèn)值)
標(biāo)題網(wǎng)址:http://m.fisionsoft.com.cn/article/djcjegc.html


咨詢
建站咨詢
