Amir Alsaeed نشر 15 يونيو 2021 أرسل تقرير نشر 15 يونيو 2021 أحاول توليد أرقام معرّفة فريدة في لارافل غير الموجودة كمفتاح أولي في جدول قاعدة البيانات، وحاولت استخدام التابع: $uuid = Uuid::generate(); ولكنه يعيد غرض Object فارغ دون أي قيمة. حاولت أيضاً تمرير قيمة للتابع generate كرقم ولكن نفس النتيجة. كيف يمكنني تحقيق ذلك؟ اقتباس
0 محمد أبو عواد نشر 15 يونيو 2021 أرسل تقرير نشر 15 يونيو 2021 تم إضافة مساعدين جدد لإنشاء معرفات فريدة UUID, يمكنك تجربتهما use Illuminate\Support\Str; return (string) Str::uuid(); return (string) Str::orderedUuid(); اقتباس
0 Wael Aljamal نشر 15 يونيو 2021 أرسل تقرير نشر 15 يونيو 2021 لانعيد الغرض مباشرة من uuid إنما الخاصية string منه كالتالي: $uuid = Uuid::generate()->string; // أو use Illuminate\Support\Str; $uuid = Str::uuid()->toString(); الخاصية string تعيد المعرف على شكل نص، يمكن قراءة الخاصية time التي تعيد الوقت: Uuid::generate()->time; اقتباس
0 Adnane Kadri نشر 15 يونيو 2021 أرسل تقرير نشر 15 يونيو 2021 بداية يجب عليك إنشاء الحقل و تعيينه كمفتاح أولي بملف التهجير الخاص بالجدول المعني على هذا النحو : Schema::create('users', function (Blueprint $table) { $table->uuid('id')->unique()->primary(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); } لاحظ أن العمود id لا يملك أي قيمة افتراضية و لذلك يجب تعيين ذلك مع كل طلب : App\Models\User::create([ 'id' => $uuid, 'name'=> 'Hsoub', 'email'=> 'Academy', 'password'=> Illuminate\Support\Facades\Hash::make('HsoubAcademy'), ]); و لإختصار الأمر و توليد معرف فريد مع كل استعلام إدراج لصف جديد نحتاج الاستماع للحدث creating ضمن النموذج المستهدف ,وليكن App\Models\User/php , ضمن الثابت boot على هذا النحو : public static function boot() { parent::boot(); self::creating(function($model){ $model->uuid = $uuid; }); } و لتعيين قيمة للمتغير uuid يمكنك إستعمال المساعد Str في لارافل مثل ما شرح المدربان أو يمكنك إستعمال أحد هاته الحزم : webpatser/laravel-uuid أو ramsey/uuid مثلا . كما يمكنك إنشاء مساعدك الخاص الذي يقوم بتوليد معرفات فريدة وفق منطق معين . اقتباس
السؤال
Amir Alsaeed
أحاول توليد أرقام معرّفة فريدة في لارافل غير الموجودة كمفتاح أولي في جدول قاعدة البيانات، وحاولت استخدام التابع:
$uuid = Uuid::generate();
ولكنه يعيد غرض Object فارغ دون أي قيمة.
حاولت أيضاً تمرير قيمة للتابع generate كرقم ولكن نفس النتيجة.
كيف يمكنني تحقيق ذلك؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.