✅ 1. فحص قاعدة البيانات
@php
try {
\DB::connection()->getPdo();
echo "✅ الاتصال بقاعدة البيانات: سليم";
echo "
📊 اسم قاعدة البيانات: " . env('DB_DATABASE');
} catch (\Eception \) {
echo "❌ خطأ في الاتصال: " . \->getMessage();
}
@endphp
✅ 2. فحص الجداول المطلوبة
| الجدول |
الحالة |
عدد الصفوف |
@php
\ = ['customers', 'customer_invoices', 'customer_invoice_items'];
foreach (\ as \) {
try {
\ = \DB::getSchemaBuilder()->hasTable(\);
\ = \ ? \DB::table(\)->count() : 0;
echo "";
echo "| \ | ";
echo "" . (\ ? "✅ موجود" : "❌ غير موجود") . " | ";
echo "\ | ";
echo "
";
} catch (\Eception \) {
echo "| \ | ❌ خطأ | " . \->getMessage() . " |
";
}
}
@endphp
✅ 3. فحص المسارات
| المسار |
الاسم |
الحالة |
@php
\ = [
'customer-invoices.create',
'customer-invoices.store',
'customer-invoices.index',
'customer-invoices.show',
];
foreach (\ as \) {
try {
\ = \Route::getRoutes()->getByName(\);
echo "";
echo "| " . \->uri . " | ";
echo "\ | ";
echo "✅ موجود | ";
echo "
";
} catch (\Eception \) {
echo "| - | \ | ❌ غير موجود |
";
}
}
@endphp
✅ 4. فحص بيانات العملاء
@php
\ = \App\Models\Customer::count();
@endphp
عدد العملاء: {{ \ }}
@if(\ === 0)
⚠️ يجب إضافة عملاء قبل إنشاء فاتورة!
@endif
✅ 5. اختبار الـ Validation
قواعد التحقق المطلوبة:
- customer_id: مطلوب وموجود في الجدول
- invoice_number: مطلوب وفريد
- invoice_date: تاريخ مطلوب
- due_date: تاريخ مطلوب ولاحق لـ invoice_date
- items: مصفوفة مطلوبة بحد أدنى بند واحد
- items.*.description: نص مطلوب
- items.*.quantity: رقم مطلوب وأكبر من 0.01
- items.*.unit_price: رقم مطلوب وأكبر من أو يساوي 0
✅ 6. اختبار إنشاء فاتورة
@if(\ > 0)
@else
❌ لا يمكن الاختبار - لا يوجد عملاء في النظام
@endif
✅ 7. آخر الأخطاء في السجل
@php
\ = storage_path('logs/laravel.log');
\ = [];
if (file_eists(\)) {
\ = array_slice(file(\), -50);
foreach (\ as \) {
if (preg_match('/ERROR|Eception|CRITICAL/i', \)) {
\[] = trim(\);
}
}
}
@endphp
@if(count(\) > 0)
⚠️ تم العثور على {{ count(\) }} خطأ:
@foreach(array_slice(\, -10) as \){{ \ }}
@endforeach
@else
✅ لا توجد أخطاء في السجل
@endif