اذهب إلى المحتوى

Amir Alsaeed

الأعضاء
  • المساهمات

    166
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Amir Alsaeed

  1. لدي الكود التالي أستطيع من خلاله الحصول على ملف excel المصدّر من لارافل من خلال blade: return (new NewsExport())->download($file_name); ولكنني أحاول الحصول على الملف من خلال axios في تطبيق react، فحاولت تنفيذ الكود التالي لكن يتم تحميل الملف معطوب ولا يعمل بالشكل الصحيح: let response = await myApi.exportList(payload).then(response => { const url = window.URL.createObjectURL(new Blob([response.data])); const link = document.createElement('a'); link.href = url; link.setAttribute('download', 'myexcelfile.xlsx'); document.body.appendChild(link); link.click(); }); ماهي الطريقة الصحيحة لتنفيذ ذلك؟
  2. عند تسجيل الدخول إلى التطبيق وفك تشفير كلمة المرور يظهر لدي الخطأ التالي: The payload is invalid. #0 /home/improojf/public_html/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php(136): Illuminate\Encryption\Encrypter->getJsonPayload(NULL) #1 /home/improojf/public_html/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php(164): Illuminate\Encryption\Encrypter->decrypt('eyJpdiI6InloT0U...', false) #2 /home/improojf/public_html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\Encryption\Encrypter->decryptString('eyJpdiI6InloT0U...') #3 /home/improojf/public_html/app/Models/Server.php(29): Illuminate\Support\Facades\Facade::__callStatic('decryptString', Array) #4 /home/improojf/public_html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(473): Server->getPasswordAttribute('eyJpdiI6InloT0U...') مع العلم أن هذه المشكلة تحدث فقط لعدد محدد من المستخدمين، أما بقية المستخدمين فلا تظهر أي رسالة خطأ عند فك تشفير كلمة المرور. كيف أستطيع حل هذه المشكلة؟
  3. أقوم باستخدام Sentry.io مع لارافل، وأحاول تطبيق آلية إرسال الأخطاء التي قد تحدث ضمن queue إلى sentry من خلال التابع التالي: app('sentry')->captureException($exception); ولكن أين يجب أن أقوم باستخدامه حتى يتم إرسال الأخطاء التي قد تحدث ضمن queue بشكل أوتوماتيكي فقط عند الفشل؟ بحيث يتم التقاط خطأ الفشل وإرساله.
  4. عندما أقوم بتعريف متغيّر جديد ضمن ملف .env وأحاول الوصول له ضمن المتحكّم يعطي القيمة null. لقد قمت بإضافة المتحوّل الذي يحوي القيمة ضمن ملف .env: PASSWORD_TEST=mypw وحاولت استدعائها ضمن المتحكّم: $pass = config('PASSWORD_TEST'); وأيضاً حاولت استخدام env بدلاً من config: env('PASSWORD_TEST', 'default_value'); ولكن قيمة المتغيّر pass هي null دوماً
  5. لدي جدول يقوم بعرض بيانات عن المسارات التي يتم استخدامها حالياً في المشروع للمستخدم. ومن ضمن المعلومات أن يتم طباعة المسارات مثال: /home /users /logout ... كيف يمكنني طباعة جميع المسارات الموجودة في المشروع بشكل برمجي في لارافل؟ حاولت استخدام Route::getRoutes، ولكنها تعيد غرض من خلاله لا استطيع الوصول إلى معلومات المسارات بشكل مباشر. كيف أستطيع تحقيق ذلك؟ هل يوجد طريقة أخرى؟
  6. لدي تطبيق عندما يقوم المستخدم فيه بالتسجيل لأول مرة يحصل على صورة شخصية افتراضية، ويستطيع بدوره تغييرها إلى صورة خاصة أو حذف الصورة التي أضافها والعودة إلى الصورة الافتراضية. ولكن عندما يقوم المستخدم بحذف آخر صورة قام بإضافتها للعودة إلى الصورة الافتراضية، يتم تحديث المسار في قاعدة البيانات ولكن قبل أن يتم حذف ملف الصورة من على الخادم يظهر الخطأ التالي: 500 (Internal Server Error) ولا يتم حذف ملف الصورة. الجزء الخاص بمسار حذف الصورة: Route::post('/profile/delete/{id}/{fileName}', [App\Http\Controllers\ProfileController::class, 'deleteimg'])->name('profile.deleteimg'); الجزء الخاص بالمتحكّم: public function deleteimg($id, $fileName) { $user = Auth::user(); $user->avatar = "default.png"; $user->save(); if(File::exists(public_path('images/profiles' . $fileName))){ File::delete(public_path('images/profiles' . $fileName)); } } وإن الكود يقوم فعلاً بتغيير القيمة إلى default.png في قاعدة البيانات ولكن الخطأ فقط في حذف الملف من الخادم. كيف يمكنني حل المشكلة؟
  7. لقد وجدت في التوثيق الرسمي أمور عامة عند التعامل مع الملفات مثل File::move ولكن لم أجد تابع لإعادة التسمية. كيف يمكنني تغيير اسم ملف أو مجلّد معيّن موجود في لارافل بشكل برمجي؟
  8. لدي الكود البرمجي التالي الذي يقوم بالجمع بين جدولين ويختبر شرط معيّن: $res = DB::table('book_author') ->join('books', 'books.id', '=', 'book_author.book_id') ->where('book_author.author_id', '=', $author_id) ->where('book_author.book_id', '=', $book_id); if($res){ return true; } else{ return false; } ولكن المشكلة أن الناتج يكون دوماً true ولا يصل أبداً إلى false. ماهو الخطأ؟
  9. أقوم بجلب بيانات لأغراض تحوي نصوص وصور. ولكن عند إضافة أغراض بدون صورة ومحاولة جلبها مع بقية الأغراض يظهر لدي الخطأ التالي: Trying to access array offset on value of type null وهذا هو الكود الذي أقوم من خلاله بالحصول على الصورة: $image=$user->images->first(); كيف يمكنني تلافي هذه المشكلة عند عدم وجود صور؟
  10. عندما أحاول تنفيذ الأمر التالي: php artisan storage:link يظهر لي هذا الخطأ: ErrorException: symlink(): No such file or directory كيف يمكن حل المشكلة؟
  11. ما الفائدة من استخدام المصفوفة fillable في كل مودل؟ مثال: class user extends Model{ protected fillable = ['username', 'avatar', 'website_link']; .... } ولماذا يتم استخدامها دوماً في المودل؟ هل يحدث خطأ في حال عدم استخدامها؟
  12. لقد قمت بالتعديل على ملف واحد من ملفات التهجير users_table ثم قمت باستخدام أمر التهجير التالي: php artisan migrate:fresh --seed ولكن لاحظت أن هذا الأمر قد أعاد إنشاء جميع ملفات التهجير من جديد وقام بحذف المحتوى. هل يوجد طريقة معيّنة لتنفيذ التهجير على ملفات محددة؟
  13. أقوم بإضافة خاصية رفع الصور إلى مشروعي في لارافل، ولكن عندما أقوم بتحميل المكتبة بتنفيذ هذا الأمر: composer .phar require intervention/image يظهر هذا الخطأ: [Symfony\Component\Console\Exception\CommandNotFoundException] Command ".phar" is not defined. كيف يمكنني تحميل هذه المكتبة؟
  14. أحاول إضافة نظام المصادقة على المشروع ولكن عند تنفيذ الأمر: php artisan make:auth يظهر لدي الخطأ التالي: Command "make:auth" is not defined كيف يمكنن معالجة المشكلة؟
  15. عند استخدامي للدالة التالية: Auth::user()->createToken('Access Token')->accessToken; لا يتم التعرّف على الدالة createToken ويظهر لدي الخطأ التالي: Undefined method 'createToken' وهذا هو الكود: <?php namespace App\Controller\API; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Auth; use App\Http\Resources\User as UserResource; class LoginController extends Controller { public function _construct(){ $this->middleware('auth.basic.once'); } public function login(){ $accessToken = Auth::user()->createToken('Access Token')->accessToken; return Response('User' => new UserResource(Auth::user()), 'Access Token' => $accessToken); } }
  16. عندما أقوم بتنفيذ الأمر التالي: composer global update تظهر لدي رسالة الخطأ التالية: [Composer\Downloader\TransportException] Content-Length mismatch, received 32505 bytes out of the expected 603684 حاولت أكثر من طريقة ولكن نفس المشكلة، ما الحل؟
  17. عندما أقوم بإضافة مسارات خاصة ب API المشروع وتشغيل المشروع تظهر لدي رسالة الخطأ التالية: Target class [API\LibraryController] does not exist. وهذا هو الكود الخاص بالمسار: Route::group(['prefix' => 'v1'], function(){ Route::apiResource('books', 'API\LibraryController'); .... }) كيف يمكنني حل هذه المشكلة؟
  18. لدي مشكلة عند استخدام الدالة $faker يظهر خط أحمر أسفل العبارة ولا يتم التعرّف عليها. مع أنني قمت بالوراثة من الصف Factory وطبّقت التعليمات: <?php namespace Database\Factories; use App\Models\Book; use Illuminate\Database\Eloquent\Factory; use Faker\Generator as faker; use Illuminate\Support\Facade\Route; class BookFactory extends Factory { protected $model = Book::class; public function definition(){ \App\Models\Book::factory()->define; return [ 'book_id'=>$faker->numberBetween(1,50), 'title'=>$faker->word ] } } فلماذا لا يتم التعرّف وتضمين faker هنا؟
  19. لدي قائمة منسدلة select فيها بعض الخيارات ولكن عند اختيار قيمة معيّنة وإرسالها إلى الخادم لا يتم تعديلها ضمن الجدول. كود الصفحة: <form action="/library/{{$book->id}}" method="POST" onChange="this.form.submit()"> @csrf @method("PATCH") <select name="options" onChange="this.form.submit()"> <option value="1">1</option> <option value="1">1</option> </select> </form> الصف الهدف: Class Book extends Model{ Use HasFactory; Protected $fillable=['options']; Public function author(){ return $this->belongsTo(User::class); } } المتحكّم: Public function update(Request $request, Book $book){ $book->update(['options'=>request('options')]); Return redirect('/library/'.$book->id); } $table->unsignedInteger('options')->default(0);
  20. أحاول تضمين مكتبة font awesome في المشروع باستخدام asset بنفس الطريقة التي أقوم فيها عادةً بتضمين التنسيقات والملفات الأخرى: <link href="{{ asset('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css') }}" rel="stylesheet"> ولكنها لا تظهر ولايتم التعرّف عليها. كيف يمكنني تضمينها ضمن المشروع؟
  21. لقد قمت بتغيير اسم المشروع ضمن المتغيّر App Name ولكن ظهر لدي هذا الخطأ عند فتح المشروع: 419 Page Expired كيف يمكنني حل هذه المشكلة؟
  22. لدي الحلقة التكرارية التالية ضمن الصفحة: @foreach($emails as $email) <h1> {{ $email->content }} </h1> <p> {{ $email->flag }} </p> @endforeach ولكن عند تشغيل المشروع يظهر الخطأ التالي: count(): Argument #1 ($var) must be of type Countable|array علماً بأنني أحصل على اللائحة المطلوبة ضمن المتحكّم الخاص بذلك: $emails = $user->emails()->where(['verified' => true]);
  23. لدي مشكلة أثناء قيامي بتهجير البيانات في لارافل وبعد إجراء الأمر: php artisan make:migration change_title_max_characters --table=books وأمر التهجير يظهر لدي الخطأ التالي: C:\laragon\www\libraryPro λ php artisan migrate Migrating: 2020_12_25_004022_change_title_max_characters Error Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found
  24. عندما أحاول الدخول إلى المشروع من خلال Laragon أصبح يظهر لي هذا الخطأ أحياناً فجأة: Call to undefined function illuminate\Encryption\openssl_cipher_iv_length() فما سبب هذه المشكلة وكيف يمكنني حلها؟
  25. قمت بتضمين بعض الرسوم البيانية في الصفحة باستخدام مكتبة laravel charts. واستدعي البيانات من خلال هذا الأمر: {!! $chart->container() !!} ولكن أرغب بتحديث بيانات هذه الرسوم البيانية بمدة محددة كل دقيقة مثلاً، وجدت ضمن التوثيق الخاص بالمكتبة الأكواد التالية التي يتم استخدامها لاستعادة البيانات إلى الواجهات views: class SampleChart extends BaseChart { /** * Handles the HTTP request for the given chart. * It must always return an instance of Chartisan * and never a string or an array. */ public function handler(Request $request): Chartisan { return Chartisan::build() ->labels(['First', 'Second', 'Third']) ->dataset('Sample', [1, 2, 3]) ->dataset('Sample 2', [3, 2, 1]); } } وملف الجافاسكريبت: const chart = new Chartisan({ el: '#chart', url: "@chart('sample_chart')", }); ولكن كيف سأتمكن من تحديث البيانات بشكل دوري إلى الرسوم البيانية؟
×
×
  • أضف...