رفتن به مطلب
انجمن پشتیبانی لاراول ایران

هاست لاراول با پشتیبانی 24 ساعته و امکانات کامل از مدیرهاست

irankhosravi

کاربر
  • تعداد ارسال ها

    2
  • تاریخ عضویت

  • آخرین بازدید

پست ارسال شده توسط irankhosravi


  1. زمانی که یک محصول درون سیستم ثبت میشود،‌باید لیست دسته بندیهای آن محصول دریافت شود و یک واحد به فیلد count اضافه شود.

    فرض بر اینکه دسته بندی های ما به شرح زیر باشد:

    ۱- الکترونیک
    ۲ - موبایل، تبلیت و اقلام جانبی
    ۳- لوازم جانبی موبایل و تبلت
    ۴ - موبایل
    ۵ - تبلت
    ۶ - کامپیوتر و لپ تاپ
    ۷ - لپ تاپ و لوازم جانبی
    ۸ - لوازم جانبی لپ تاپ
    ۹ - لپ تاپ

    صورت مسئله:

    در صورتی که یک محصول در دسته بندی لپ تاپ ( شماره ۹ ) قرار داده شود ( با فرض اینکه محصول تازه ثبت شده است ) ، در فیلد count دسته بندی های زیر باید یک واحد اضافه گردد:

    لپ تاپ
    لپ تاپ و لوازم خانگی
    کامپیوتر و لپ تاپ
    الکترونیک
    در این حالت فیلد count تمام دسته بندی های بالا باید به ۱ تغییر کنند

    صورت مسئله ۲ :

    در صورتی که یک محصول در دسته بندی لوازم جانبی لپ تاپ ( شماره ۸ ) قرار داده شود ( با فرض اینکه محصول تازه ثبت شده است ) ، در فیلد count دسته بندی های زیر باید یک واحد اضافه شوند

    لوازم جانبی لپ تاپ
    لپ تاپ و لوازم خانگی
    کامپیوتر و لپ تاپ
    الکترونیک

    نکته:

    در صورت حذف و یا غیرفعال شدن یک محصول، باید تمام دسته بندی هایی که این محصول در آن دخیل است، یک واحد کم شوند.

        public function up()
        {
            Schema::create('categories', function (Blueprint $table) {
                $table->id();
                $table->foreignId('parentId')->nullable()->constrained('categories')->cascadeOnDelete();
                $table->unsignedBigInteger('guildId')->nullable();
                $table->string('title');
                $table->bigInteger('count')->default(0);
                $table->string('type')->default('product')->index();
                $table->string('slug')->unique();
                $table->text('description')->nullable();
                $table->text('full_description')->nullable();
                $table->unsignedBigInteger('sort_order')->nullable();
                $table->foreignId('thumbnailId')->nullable()->constrained('files')->nullOnDelete();
                $table->enum('status', ['disabled', 'enabled'])->default('enabled');
                $table->timestamps();
            });
        }

    Category.php

        public function parent()
        {
            return $this->belongsTo(Category::class, 'parentId');
        }
    
        public function parents()
        {
            return $this->belongsTo(Category::class, 'parentId')->with('parents');
        }
    
        public function children()
        {
            return $this->hasMany(Category::class, 'parentId');
        }
    
        public function products()
        {
            return $this->hasMany(Product::class, 'rootCategoryId');
        }
    
        public function allProducts()
        {
            return $this->belongsToMany(Product::class, 'category_product', 'categoryId', 'productId');
        }

    Product.php

    class Product extends Model
    {
        public function category()
        {
            return $this->belongsTo(Category::class); // products table has the category_id column
        }
    }

    خلاصه اگر بخوام بگم این شکلی میشه

    مجموع محصولات یک دسته بندی = مجموع محصولات دسته و تمام زیر دسته های همون دسته بندی


  2. سلام من تازه با سایت شما اشنا شدم.

    میخواستم بدونم که برای ایجاد pdf با لاراول چه کارهایی را باید انجام بدیم. من پکیج https://github.com/niklasravnsborg/laravel-pdf را نصب کردم ولی وقتی میخواد pdf را ایجاد کند چند صفحه سفید با 2000 صفحه ایجاد میکند. همه کدهای من در زیر نوشتم اگر جایی اشتباه کردم و یا چیزی کم داره و کم گزاشتم خوهشا کد مرا اصلاح کنید یا اضافه کنید.

    config/app.php

    'providers' => [
    	// ...
    	niklasravnsborg\LaravelPdf\PdfServiceProvider::class
    ]
    
    'aliases' => [
    	// ...
    	'PDF' => niklasravnsborg\LaravelPdf\Facades\Pdf::class
    ]

    config/pdf.php

    <?php
    return [
        'mode'                  => 'utf-8',
        'format'                => 'A4',
        'author'                => '',
        'subject'               => '',
        'keywords'              => '',
        'creator'               => 'Laravel Pdf',
        'display_mode'          => 'fullpage',
        'tempDir'               => base_path('temp/'),
        'font_path' => base_path('resources/fonts/'),
        'font_data' => [
            "Vazir" => [
                'R' => "Vazir.ttf", //regular
                'B' => "Vazir.ttf", //bold
                'I' => "Vazir.ttf", //italic
                'BI' => "Vazir.ttf", //bold-italic
                'useOTL' => 0xFF,
                'useKashida' => 75,
            ],
        ]
    ];

    web.php

    Route::get('article', 'ArticleController@pdf');

    ArticleController.php

        public function pdf()
        {
            $articles = Article::all();
    		$pdf = PDF::loadView('articles', compact('articles'));
    		return $pdf->stream('articles.pdf');
        }

    articles.blade.php

    <!doctype html>
    <html lang="fa" dir="rtl">
      <head>
        <!-- Required meta tags -->
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <!-- Bootstrap CSS -->
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
        <title>لاراول</title>
      </head>
      <body>
    	@foreach($articles as $article)
    		{{ $article->title }}
    		{{ $article->body }}
    	@endforeach
      </body>
    </html>

    من حتی از utf-8 هم استفاده کردم.

×
×
  • جدید...