Abdullah Al Shahed
Abdullah Al Shahed

Reputation: 89

How to call id from table in another table in laravel-8

Here I have three tables named user, product, project In the project table, I have two foreignId named user_id and product_id

I want to show project table data using the index method in ProjectController.php

Here I can call user_id in the index method but I cant call product_id. Thanks for help This is my index method in ProjectController.php

How to write where for product_id? I can`t get product_id value

public function index()
{
$projects = Project::where('user_id',auth()->user()->id)->where('product_id')->latest()           ->paginate(20);
return view('projects.index', compact('projects'))
       ->with('i', (request()->input('page', 1) - 1) * 5);
}

This is products table products.php

 Schema::create('products', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->text('detail');
            $table->string('color');
            $table->string('image');
            $table->string('logo');
            $table->unsignedBigInteger('user_id');
            $table->timestamps();
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
        });

This is projects table projects.php

 Schema::create('projects', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('chapter_name', 255)->nullable();
            $table->string('sub_section_name', 500)->nullable();
            $table->string('title_1', 255)->nullable();
            $table->string('description_1', 5000)->nullable();
            $table->string('image_1', 255)->nullable();
            $table->string('image_2', 255)->nullable();
            $table->string('image_3', 255)->nullable();
            $table->string('title_2', 255)->nullable();
            $table->string('description_2', 5000)->nullable();
            $table->string('title_3', 255)->nullable();
            $table->string('description_3', 255)->nullable();
            $table->string('video_1', 255)->nullable();
            $table->string('video_2', 255)->nullable();
            $table->string('video_3', 255)->nullable();
            $table->unsignedBigInteger ('user_id');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            // $table->foreignId('product_id')->nullable();
            $table->unsignedBigInteger('product_id')->references('id')->on('products')->onDelete('cascade');
            $table->timestamp('created_at')->useCurrent();
            $table->timestamp('updated_at')->nullable();
        });

This is ProjetcImport.php

return new Project([
            'chapter_name'     => $row['chapter_name'],
            'sub_section_name'    => $row['sub_section_name'],
            'title_1'    => $row['title_1'],
            'description_1'    => $row['description_1'],
            'image_1'    => $row['image_1'],
            'image_2'    => $row['image_2'],
            'image_3'    => $row['image_3'],
            'title_2'    => $row['title_2'],
            'description_2'    => $row['description_2'],
            'title_3'    => $row['title_3'],
            'description_3'    => $row['description_3'],
            'video_1'    => $row['video_1'],
            'video_2'    => $row['video_2'],
            'video_3'    => $row['video_3'],
            'user_id'    => auth()->user()->id,
            'product_id'    => Product::where('user_id',Auth::id())->pluck('id'))
            // 'product_id' => id()->id
        ]);

Upvotes: 0

Views: 1718

Answers (1)

Ankita Dobariya
Ankita Dobariya

Reputation: 831

Project::whereIn('product_id',Products::where('user_id',Auth::id())->pluck('id')->toArray())->latest()->paginate(20);

I hope it would work for you.

Upvotes: 1

Related Questions