ريماس الياس نشر منذ 21 ساعة أرسل تقرير نشر منذ 21 ساعة كنت اعمل على موقع وكل شيء على مايرام تهجير وكل شيء اردت اضافة جدول المفضلة لاضافة خيار اضافة عنصر للمفضلة وربطه بهذه الطريقة $table->foreignId('user_id')->constrained()->onDelete('cascade'); $table->foreignId('subcategory_id')->constrained('sub_categories')->onDelete('cascade'); وقمت بتنفيذ الامر php artisan migrate:refresh فواجهت مشكلة انه لا يمكنني حذف جدول ال user بسبب العلاقة وعند تغيير العلاقة واعادة المحاولة اصبحت تظهر لي مشكلة غريبة هذه هي λ php artisan migrate:refresh --seed Illuminate\Database\QueryException SQLSTATE[42S02]: Base table or view not found: 1146 Table 'inspro.subscriber_categories' doesn't exist (Connection: mysql, SQL: select * from `subscriber_categories`) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:829 825▕ $this->getName(), $query, $this->prepareBindings($bindings), $e 826▕ ); 827▕ } 828▕ ➜ 829▕ throw new QueryException( 830▕ $this->getName(), $query, $this->prepareBindings($bindings), $e 831▕ ); 832▕ } 833▕ } 1 [internal]:0 Illuminate\Foundation\Application::Illuminate\Foundation\{closure}(Object(App\Providers\AppServiceProvider)) 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:423 PDOException::("SQLSTATE[42S02]: Base table or view not found: 1146 Table 'inspro.subscriber_categories' doesn't exist") مع العلم ان الجدول موجود لدي بالفعل وكان يعمل كل شيء على ما يرام حذفت قاعدة البيانات كلها وحاولت اعادة التهجير ومازلات المشكلة ذاتها حاولت اضافتهم الى قاعدة بيانات جديدة ايضا ذات المشكلة وحتى عندما احاول تنفيذ هذه الامور تظهر المشكلة ذاتها php artisan migrate:reset php artisan config:clear php artisan cache:clear ما الحل وما سبب المشكلة ؟ 1 اقتباس
1 محمد عاطف17 نشر منذ 20 ساعة أرسل تقرير نشر منذ 20 ساعة المشكلة لديكي أنه يوجد كود يتم تنفيذه قبل تشغيل أمر migrate وهذا الكود يبحث عن جدول يسمى subscriber_categories . لذلك يرجى البحث في الملفات التالية عن كود يستخدم الجدول subscriber_categories ويجب تعطيله مؤقتا ومن ثم تشغيله بعد أمر التهجير : App\Providers\AppServiceProvider.php حيث في هذا الملف توجد دالة boot التي قد تحتوي على كود يتم تنفيذه قبل المهاجرات. App\Providers\AuthServiceProvider.php وأيضا هذا الملف. ومجلد ال app/Http/Middleware أيضا . ومجلد app/Providers . بعد وجود الكود الذي يستخدم جدول subscriber_categories يرجى تعطيله أو خذفه وتنفيذ أمر المهجرات ومن ثم إعادة الكود مرة أخرى. إذا إستمرت المشكلة يرجى إرفاق ملف المشروع. 1 اقتباس
0 ريماس الياس نشر منذ 20 ساعة الكاتب أرسل تقرير نشر منذ 20 ساعة اولا شكرا لك حلت المشكلة ولكن لدي سؤال لماذا هذا الجدول بالذات باللرغم من انني استخدم الكثير من الجداول في ملف ال AppServiceProvider <?php namespace App\Providers; use App\Models\Category; use App\Models\Employee; use App\Models\Information; use App\Models\PostCategory; use App\Models\SubscriberCategory; use Illuminate\Support\Facades\View; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Register any application services. */ public function register(): void { // } /** * Bootstrap any application services. */ public function boot(): void { View::share('subscriberCategories', SubscriberCategory::all()); View::share('categories', Category::all()); View::share('employees', Employee::all()); // جلب الـ categories مع الـ subcategories المرتبطة بها $categoriesWithSubcategories = Category::with('subcategories')->get(); // مشاركة البيانات مع جميع العروض View::share('categories', $categoriesWithSubcategories); // جلب الفئات مع المشتركين المرتبطين بها $subscriberCategories = SubscriberCategory::with('subscribers')->get(); // مشاركة البيانات مع جميع العروض View::share('subscriberCategories', $subscriberCategories); // جلب الفئات مع المشتركين المرتبطين بها $postCategories = PostCategory::with('posts')->get(); // مشاركة البيانات مع جميع العروض View::share('postCategories', $postCategories); $information = Information::first(); View::share('information', $information); } } اقتباس
السؤال
ريماس الياس
كنت اعمل على موقع وكل شيء على مايرام تهجير وكل شيء اردت اضافة جدول المفضلة لاضافة خيار اضافة عنصر للمفضلة وربطه بهذه الطريقة
وقمت بتنفيذ الامر php artisan migrate:refresh
فواجهت مشكلة انه لا يمكنني حذف جدول ال user بسبب العلاقة وعند تغيير العلاقة واعادة المحاولة اصبحت تظهر لي مشكلة غريبة هذه هي
λ php artisan migrate:refresh --seed Illuminate\Database\QueryException SQLSTATE[42S02]: Base table or view not found: 1146 Table 'inspro.subscriber_categories' doesn't exist (Connection: mysql, SQL: select * from `subscriber_categories`) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:829 825▕ $this->getName(), $query, $this->prepareBindings($bindings), $e 826▕ ); 827▕ } 828▕ ➜ 829▕ throw new QueryException( 830▕ $this->getName(), $query, $this->prepareBindings($bindings), $e 831▕ ); 832▕ } 833▕ } 1 [internal]:0 Illuminate\Foundation\Application::Illuminate\Foundation\{closure}(Object(App\Providers\AppServiceProvider)) 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:423 PDOException::("SQLSTATE[42S02]: Base table or view not found: 1146 Table 'inspro.subscriber_categories' doesn't exist")
مع العلم ان الجدول موجود لدي بالفعل وكان يعمل كل شيء على ما يرام
حذفت قاعدة البيانات كلها وحاولت اعادة التهجير ومازلات المشكلة ذاتها
حاولت اضافتهم الى قاعدة بيانات جديدة ايضا ذات المشكلة
وحتى عندما احاول تنفيذ هذه الامور تظهر المشكلة ذاتها
php artisan migrate:reset php artisan config:clear php artisan cache:clear
ما الحل وما سبب المشكلة ؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.