Laravel에서 속성(색상, 크기 등)으로 제품을 필터링하는 방법
P粉821274260
P粉821274260 2023-08-28 00:17:09
0
2
526

저는 Laravel을 처음 사용하며 특정 제품을 필터링하고 싶습니다.

내 데이터베이스에는 두 개의 테이블이 있습니다. 첫 번째는 products 테이블이고, 두 번째는 attributes 테이블입니다.

제품 목록

Schema::create('products', function (Blueprint $table) { $table->bigIncrements('id'); $table->BigInteger('category_id')->unsigned()->nullable(); $table->string('이름'); $table->string('코드'); $table->integer('status')->default(1); $table->integer('featured')->default(1); $table->string('이미지'); $table->longText('short_description'); $table->longText('long_description'); $table->타임스탬프(); })

상품 속성 테이블

Schema::create('product_attributes', function (Blueprint $table) {. $table->bigIncrements('id'); $table->unsignedBigInteger('product_id'); $table->string('sku'); $table->string('크기'); $table->string('색상'); $table->string('가격'); $table->string('재고'); $table->타임스탬프(); })

관계

하나의 제품에 여러 속성이 있기 때문입니다

class 제품 확장 모델 { HasFactory를 사용하세요. 공용 함수 속성() { return $this->hasmany('AppModelsProductAttributes', 'product_id'); } }

내 블레이드 파일

@csrf <입력 유형="숨겨진"값="{{$slug}}"이름="슬러그">
<입력 이름="color" onchange="javascript:this.form.submit();" type="radio" class="custom-control-input" ;검은색">

이 기능을 적용했는데 결과가 나오지 않습니다

프런트엔드 스토어 페이지에서 특정 사이즈나 색상을 기준으로 제품을 필터링하는 방법을 안내해 주세요. 스토어 기능에 어떤 코드가 포함될지.

답장해 주시면 정말 감사하겠습니다

P粉821274260
P粉821274260

모든 응답 (2)
P粉908138620

으아악

    P粉033429162

    관계별로 필터링해야 합니다. 설명서를 확인하세요

    https://laravel.com/docs/9 .x/eloquent-relationships#querying-relationship-existence

    예 WhereHas를 사용하세요

    으아악

    with 어디에도 적용하지 않으면 모든 속성이 반환됩니다

    whereHas에 적용된 동일한 필터를 사용하면 이 동작을 방지할 수 있습니다.

    으아악
      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!