Jelajahi Sumber

Correction table photo in the morhp

azam 4 tahun lalu
induk
melakukan
1ef5ab2837

+ 1 - 1
app/Models/Upload.php

@@ -8,7 +8,7 @@ use Packages\Product\Models\Product;
 
 class Upload extends Model
 {
-    protected $fillable = ['name', 'path', 'mime_type', 'creator_id', 'uploadable'];
+    protected $fillable = ['name', 'path', 'mime_type', 'uploadable'];
     public function products()
     {
         return $this->morphTo(Product::class, 'uploadable');

+ 3 - 3
database/migrations/2020_07_04_080635_create_uploadable_table.php → database/migrations/2020_07_04_110256_create_uploadables_table.php

@@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
 use Illuminate\Database\Schema\Blueprint;
 use Illuminate\Support\Facades\Schema;
 
-class CreateUploadableTable extends Migration
+class CreateUploadablesTable extends Migration
 {
     /**
      * Run the migrations.
@@ -13,7 +13,7 @@ class CreateUploadableTable extends Migration
      */
     public function up()
     {
-        Schema::create('uploadable', function (Blueprint $table) {
+        Schema::create('uploadables', function (Blueprint $table) {
             $table->integer('upload_id');
             $table->integer('uploadable_id');
             $table->string('uploadable_type');
@@ -27,6 +27,6 @@ class CreateUploadableTable extends Migration
      */
     public function down()
     {
-        Schema::dropIfExists('uploadable');
+        Schema::dropIfExists('uploadables');
     }
 }

+ 3 - 7
database/migrations/2020_07_04_064817_create_upload_files_table.php → database/migrations/2020_07_04_115344_create_uploads_table.php

@@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
 use Illuminate\Database\Schema\Blueprint;
 use Illuminate\Support\Facades\Schema;
 
-class CreateUploadFilesTable extends Migration
+class CreateUploadsTable extends Migration
 {
     /**
      * Run the migrations.
@@ -13,12 +13,8 @@ class CreateUploadFilesTable extends Migration
      */
     public function up()
     {
-        Schema::create('upload_files', function (Blueprint $table) {
+        Schema::create('uploads', function (Blueprint $table) {
             $table->id();
-            $table->string('name');
-            $table->string('path');
-            $table->string('mime_type');
-            $table->morphs('uploadable');
             $table->timestamps();
         });
     }
@@ -30,6 +26,6 @@ class CreateUploadFilesTable extends Migration
      */
     public function down()
     {
-        Schema::dropIfExists('upload_files');
+        Schema::dropIfExists('uploads');
     }
 }

+ 21 - 2
packages/product/src/Http/Controllers/ProductController.php

@@ -9,6 +9,7 @@ use Packages\Product\Http\Requests\ProductRequest;
 use Packages\Product\Models\Product;
 use Illuminate\Http\Request;
 use App\Models\Category;
+use App\Models\Upload;
 use phpDocumentor\Reflection\Types\Compound;
 
 
@@ -76,11 +77,29 @@ class ProductController extends Controller
             'discription' => $request->discription,
             'creator_id' => auth()->user()->id
         ];
+
         $product = Product::create($data);
-        $product->categories()->sync($request->categories);
+        $upload = Upload::create([
+            'name' => $request->neme,
+            'path' => $request->path,
+            'mime_type' => $request->mime_type,
+            'uploadable' => $request->uploadable,
+
+        ]);
+       if($request->hasFile('photo')){
+            $file = $request-> file('photo');
+            $fileName = 'product-file-' . time() . '.' . $file->getClientOriginalName();
+           $upload = $file->storeAs('photos' , $fileName , 'product');
+//
 
+        }
+
+
+        $product->categories()->sync($request->categories);
+        $product->upload()->sync($request->upload);
+        dd($product);
         $msg = 'ذخیره محصول با موفقیت انجام شد ';
-        return redirect(route('products.edit', $product->id))->with('success', $msg);
+        return redirect(route('products.edit', $product->id),compact('upload'))->with('success', $msg);
     }
 
     // ******************************************************edit page product*********************************************

+ 2 - 0
packages/product/src/Http/Requests/ProductRequest.php

@@ -31,8 +31,10 @@ class ProductRequest extends FormRequest
             'status' => ['required'],
             'discription' => ['required'],
             "categories" => ['required'],
+            "photo" => ['required','file','image','mimes:jpeg,npg,gif,webp,jfif','max:2048'],
 
         ];
+
     }
 
 }

+ 3 - 1
packages/product/src/views/product/create.blade.php

@@ -193,7 +193,9 @@
                                                class="form-control photo @error('photo') is-invalid  @enderror"
                                                value="{{old('photo')}}" autocomplete="photo" autofocus >
                                         @error('photo')
-                                        <div class="alert alert-danger">{{$message}}</div>
+                                        <span class="invalid-feedback" role="alert">
+                                            <strong>{{ $message }}</strong>
+                                        </span>
                                         @enderror
                                     </div>
                                     <div class="form-group mb-0">

+ 10 - 10
resources/lang/fa/product.php

@@ -1,14 +1,14 @@
 <?php
 return [
-  'categories' => 'دسته بندی',
-  'sale_price'   => 'قیمت فروش ویژه',
-  'price'        => 'قیمت ',
-  'discription'   => ' توضیحات محصول',
-  'status'   => 'وضعیت محصول',
-  'type'   => ' نوع محصول',
-  'sku'   => 'sku ',
-  'slug'   => 'slug',
-  'title'   => 'عنوان',
-  'photo'   => 'عکس محصول',
+  'categories'  => 'دسته بندی',
+  'sale_price'  => 'قیمت فروش ویژه',
+  'price'       => 'قیمت ',
+  'discription' => ' توضیحات محصول',
+  'status'      => 'وضعیت محصول',
+  'type'        => ' نوع محصول',
+  'sku'         => 'sku ',
+  'slug'        => 'slug',
+  'title'       => 'عنوان',
+  'photo'       => 'عکس محصول',
 ];