질문을 삭제하지 말아주세요.!
 
1
0
-1

테이블에서 코드값으로 저장을 하고, Eloquent model에서 아래와 같이 지정하여 select와 save를 진행하고 있는데요.

	public function setCategoryAttribute($category)
	{
		switch($category){
			case 'general':
				$this->attributes['category'] = 1;
				break;
			case 'enhancement':
				$this->attributes['category'] = 2;
				break;
			case 'failure':
				$this->attributes['category'] = 3;
				break; 
		}
	}
 
	public function getCategoryAttribute($category)
	{
		switch($category){
			case 1:
				return 'general';
				break;
			case 2:
				return 'enhancement';
				break;
			case 3:
				return 'failure';
				break; 
		}
	}

데이터를 조회하는 과정에서 where 조건에 category='general' 과 같은 형태로  파라메터 값을 받아와서

조회 전에 저 값을 코드값으로 치환해 쿼리를 날리고 싶은데요.

laravel에서 지원해주는 함수가 있나요?

아니면 controller 에서 변환작업 후 진행을 해야하나요?

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      쿼리 스코프(https://www.lesstif.com/pages/viewpage.action?pageId=27295884)를 사용하시면 되지 않을까요.

       

      public function scopeCategory($query, $category)    {
              return $query->where('category', '=', $this->getCategoryAttribute($category));
      }
        CommentAdd your comment...