코드이그나이터 기반 PHP 오픈소스 게시판 : 씨아이보드

안녕하세요 또 질문이 생겨서 글을 남깁니다.

  • 박형렬
  • 2
  • 3,523
  • 글주소
  • 08-30

Menu_model을 계속 공부하고 있는데 궁금증이 생겨서 글을 남깁니다. 

 

public function get_all_menu($device_view_type = '')

    {

        $cachename = $device_view_type === 'mobile'

            ? 'pagemenu-mobile' : 'pagemenu-desktop';

$userid = $this->session->userdata('username');

        if ( ! $result = $this->cache->get($cachename)) {

 

            $where = $device_view_type === 'mobile'

                ? array('men_mobile' => 1) : array('men_desktop' => 1); 

 

            $return = $this->get('', '', $where, '', 0, 'men_order', 'asc');

 

            if ($return) {

                foreach ($return as $key => $value) {

                    $result[$value['men_parent']][$value['men_id']] = $value;

                }

                $this->cache->save($cachename, $result);

            }

        }

        return $result;

    } 

 

 

위의 내용은 Menu_model의 내용중 한 function 입니다. 여기서 보기에 $where 부분을 통해 

db에서 mem_mobile이 1이거나 mem_desktop이 1인 값들을 불러 와라 라고 보여 집니다.

저는 여기에 추가하여 로그인 한 유저의 id값과 제가 menu db에 추가한 mem_id 값이 같거나 0인 메뉴만 불러 오고 싶은데,

제 생각에는 

 

 $where = $device_view_type === 'mobile'

                ? array('men_mobile' => 1) : array('men_desktop' => 1) || array('mem_id' == $userid || 0); 

 

라고 작성하면 될것 같은데 안되서 무엇이문제인지 모르겠습니다. ㅠ