Dapatkah saya mengubah kunci utama model Eloquent.
Saya ingin menyetel kunci utama misalnya, admin_idbukan 'id'?
Saya tahu saya bisa mengubah nama tabel untuk model seperti
protected $table = "admin";
Apakah ada yang serupa untuk kunci utama?
Dapatkah saya mengubah kunci utama model Eloquent.
Saya ingin menyetel kunci utama misalnya, admin_idbukan 'id'?
Saya tahu saya bisa mengubah nama tabel untuk model seperti
protected $table = "admin";
Apakah ada yang serupa untuk kunci utama?
Jawaban:
Iya
class User extends Eloquent {
protected $primaryKey = 'admin_id';
}
$primaryKey = array('key1', 'key1'); github.com/laravel/framework/issues/5517#issuecomment-52996610
class User extends Eloquent {
protected $primarykey = 'admin_id';
}
tapi
class User extends Eloquent {
protected $primaryKey = 'admin_id';
}
perhatikan huruf K (kapital) pada variabel $ primaryKey
Jika Anda ingin menggunakan kunci komposit (string)
Anda perlu memastikan bahwa Anda mengatur public $incrementing = falsejika tidak, laravel akan mentransmisikan bidang tersebut ke Integer, memberi0
class User extends Model {
protected $primaryKey = 'my_string_key';
public $incrementing = false;
}
Variabel kunci utama peka huruf besar / kecil dan harus $primaryKeyberfungsi.
Contoh:
protected $primaryKey = 'your_primary_key_id';
Contoh dalam kelas Model:
class User extends Eloquent {
protected $primaryKey = 'your_primary_key_id';
}
class User extends Eloquent {
protected $primaryKey = 'admin_id';
}
Sesuai dokumentasi Laravel:
Fasih juga akan menganggap bahwa setiap tabel memiliki kolom kunci utama bernama id. Anda dapat menentukan $primaryKeyproperti untuk mengganti konvensi ini.
Selain itu, Eloquent mengasumsikan bahwa kunci primer adalah nilai integer yang bertambah, yang berarti bahwa secara default kunci primer akan dilemparkan ke int secara otomatis. Jika Anda ingin menggunakan kunci utama non-incrementing atau non-numerik, Anda harus menyetel $incrementingproperti publik pada model Anda ke false.
Untuk menetapkan kunci utama Anda harus ..->
class User extends Eloquent {
protected $primaryKey='admin_id';
}
$primarykeyharus$primaryKey(huruf besar K) dan tidak akan berfungsi sebaliknya.