본문 바로가기
MySql

MySQL 행이 있는지 확인하십시오, Laravel

by 베이스 공부 2020. 12. 2.
반응형

다음과 같은 db 구조가 있습니다.

items:
id, name, user_id

users table:
id, name

user_favorites table:
id, user_id, item_id

내 아이템 퍼머 링크 페이지에는 user_favorites 에 새 행을 삽입하는 '즐겨 찾기에 추가'버튼이 있습니다.

사용자가 즐겨 찾기에 이미있는 경우 '즐겨 찾기에서 제거'버튼으로 대체 할 수 있기를 바랍니다.

이 논리를 이해할 수 없습니다. 현재 사용자의 ID와 영구 링크 항목 ID가있는 user_favorites 에 행이 있는지 확인해야합니까? 이것은 나를 위해 작동하지 않았습니다.

if (Auth::user()->id) {
    if (!is_null(DB::table('user_favorites')->where('user_id', '=', Auth::user()->id)->where('item_id', '=', $item->id)->first())) {
        // remove from favorites button will show
    }
}

 

해결 방법

 

다음과 같은 것을 원할 수 있습니다.

$user_favorites = DB::table('user_favorites')
    ->where('user_id', '=', Auth::user()->id)
    ->where('item_id', '=', $item->id)
    ->first();

if (is_null($user_favorites)) {
    // It does not exist - add to favorites button will show
} else {
    // It exists - remove from favorites button will show
}

 

참조 페이지 https://stackoverflow.com/questions/25209302

 

 

반응형

댓글