Amir Alsaeed نشر 15 يونيو 2021 أرسل تقرير مشاركة نشر 15 يونيو 2021 أحاول توليد أرقام معرّفة فريدة في لارافل غير الموجودة كمفتاح أولي في جدول قاعدة البيانات، وحاولت استخدام التابع: $uuid = Uuid::generate(); ولكنه يعيد غرض Object فارغ دون أي قيمة. حاولت أيضاً تمرير قيمة للتابع generate كرقم ولكن نفس النتيجة. كيف يمكنني تحقيق ذلك؟ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 محمد أبو عواد نشر 15 يونيو 2021 أرسل تقرير مشاركة نشر 15 يونيو 2021 تم إضافة مساعدين جدد لإنشاء معرفات فريدة UUID, يمكنك تجربتهما use Illuminate\Support\Str; return (string) Str::uuid(); return (string) Str::orderedUuid(); اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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; اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 مثلا . كما يمكنك إنشاء مساعدك الخاص الذي يقوم بتوليد معرفات فريدة وفق منطق معين . اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Amir Alsaeed
أحاول توليد أرقام معرّفة فريدة في لارافل غير الموجودة كمفتاح أولي في جدول قاعدة البيانات، وحاولت استخدام التابع:
$uuid = Uuid::generate();
ولكنه يعيد غرض Object فارغ دون أي قيمة.
حاولت أيضاً تمرير قيمة للتابع generate كرقم ولكن نفس النتيجة.
كيف يمكنني تحقيق ذلك؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.