Veri Tabanı
Factories Tanıtımı
Uygulamanızı test ederken veya veritabanınızı tohumlarken, veritabanınıza birkaç kayıt eklemeniz gerekebilir. Laravel, her bir sütunun değerini manuel olarak belirtmek yerine, model factories kullanarak Eloquent modellerinizin (opens in a new tab) her biri için bir dizi varsayılan özellik tanımlamanıza olanak tanır.
Bir factory nasıl yazılacağına dair bir örnek görmek için uygulamanızdaki database/factories/UserFactory.php dosyasına bakın. Bu factory, tüm yeni Laravel uygulamalarına dahildir ve aşağıdaki factory tanımını içerir:
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
class UserFactory extends Factory
{
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'name' => fake()->name(),
'email' => fake()->unique()->safeEmail(),
'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
];
}
}
Migrations Giriş
Migrations, veritabanınız için sürüm kontrolü gibidir ve ekibinizin uygulamanın veritabanı şeması tanımını tanımlamasını ve paylaşmasını sağlar. Bir ekip arkadaşınıza, değişikliklerinizi kaynak kontrolünden aldıktan sonra yerel veritabanı şemasına manuel olarak bir sütun eklemesini söylemek zorunda kaldıysanız, veritabanı geçişlerinin çözdüğü sorunla karşı karşıya kaldınız.
Laravel "Schema" facade (opens in a new tab), Laravel'in desteklediği tüm veritabanı sistemlerinde tablolar oluşturmak ve bunları değiştirmek için veritabanı agnostik desteği sağlar. Tipik olarak, migrations, veritabanı tablolarını ve sütunlarını oluşturmak ve değiştirmek için bu facade kullanır.
full_name
kullanıcıların tam adlarını depolamak için kullanılabilir.email
kullanıcıların e-posta adresi bilgilerini depolamak için kullanılabilir.phone
kullanıcıların telefon numarası bilgilerini depolamak için kullanılabilir.address
kullanıcıların adres bilgilerini depolamak için kullanılabilir.avatar
kullanıcıların avatar bilgilerini depolamak için kullanılabilir.email_verified_at
kullanıcıların e-posta doğrulama bilgilerini depolamak için kullanılabilir.password
kullanıcıların şifre bilgilerini depolamak için kullanılabilir.role
kullanıcıların rol bilgilerini depolamak için kullanılabilir.name
isim bilgilerini depolamak için kullanılabilir.code
kısa kod bilgilerini depolamak için kullanılabilir.description
açıklama bilgilerini depolamak için kullanılabilir.discount
indirim bilgilerini depolamak için kullanılabilir.start_date
başlangıç tarihi bilgilerini depolamak için kullanılabilir.end_date
bitiş tarihi bilgilerini depolamak için kullanılabilir.subject
konu bilgilerini depolamak için kullanılabilir.message
mesaj bilgilerini depolamak için kullanılabilir.token
token bilgilerini depolamak için kullanılabilir.src
dosya yolu bilgilerini depolamak için kullanılabilir.total_questions
toplam soru bilgilerini depolamak için kullanılabilir.correct
doğru soru bilgilerini depolamak için kullanılabilir.difficulty
soru zorluk bilgilerini depolamak için kullanılabilir.in_correct
yanlış soru bilgilerini depolamak için kullanılabilir.blank
boş soru bilgilerini depolamak için kullanılabilir.point
puan bilgilerini depolamak için kullanılabilir.content
içerik bilgilerini depolamak için kullanılabilir.price
fiyat bilgilerini depolamak için kullanılabilir.total
toplam fiyat bilgilerini depolamak için kullanılabilir.paid_at
ödeme bilgilerini depolamak için kullanılabilir.value
değer bilgilerini (time, length vb.) depolamak için kullanılabilir.key
anahtar bilgilerini (value:time, key:1.5) depolamak için kullanılabilir.is_active
kullanıcıların aktiflik bilgilerini depolamak için kullanılabilir.is_image_option
resim veya yazı bilgilerini depolamak için kullanılabilir.is_correct
doğru veya yanlış bilgilerini depolamak için kullanılabilir.is_default
hizmetin fiyatının güncellendiği durumlarda kullanılabilir.is_everyone
herkese açık olup olmadığını depolamak için kullanılabilir.passport_id
kullanıcıların kimlik numaralarını depolamak için kullanılabilir.parent_id
sonsuz kategori kimliği bilgilerini depolamak için kullanılabilir.country_id
==countries
kullanıcıların ülke bilgilerini depolamak için kullanılabilir.city_id
==cities
kullanıcıların şehir bilgilerini depolamak için kullanılabilir.state_id
==states
kullanıcıların ilçe bilgilerini depolamak için kullanılabilir.language_id
==Languages
kullanıcıların dil bilgilerini depolamak için kullanılabilir.user_id
==users
kullanıcı kimliği bilgilerini depolamak için kullanılabilir.notification_id
==notifications
bildirim kimliği bilgilerini depolamak için kullanılabilir.category_id
==question_categories
kategori kimliği bilgilerini depolamak için kullanılabilir.question_id
==questions
soru kimliği bilgilerini depolamak için kullanılabilir.exam_id
==exams
sınav kimliği bilgilerini depolamak için kullanılabilir.payment_coupon_id
==payment_coupons
ödeme kuponu bilgilerini depolamak için kullanılabilir.question_category_id
==question_categories
soru kategorisi bilgilerini depolamak için kullanılabilir.condition_category_id
==condition_categories
kural kategorisi bilgilerini depolamak için kullanılabilir.
Schema
Veri Tabanı Schema (opens in a new tab) DBdiagram tarafından.