programing

Expulent 모델 인스턴스의 기본 키 가져오기

css3 2023. 9. 12. 20:12

Expulent 모델 인스턴스의 기본 키 가져오기

MySQL 데이터베이스에서 매우 일관된 열 이름을 가진 프로젝트를 수행할 수 있어서 기쁩니다.카멜케이스, 파스칼케이스, 아이디, 아이디가 있는데 정말 미칠 것 같아요.저는 Laravel이 아닌 우리의 어플리케이션에서 Not Laravel을 사용하기로 결정했습니다.예를 들어 열 이름을 모르는 상태에서 primary key 값을 쉽게 받을 수 있는 방법이 있으면 좋겠습니다.

// User's primary key column is called UserID
$user = User::find(1337);
$userId = $user->id(); // = 1337

이것을 할 수 있는 능수능란한 방법이 있습니까? 아니면 제가 직접 이 방법을 추가해야 합니까?

모델에서 기본 키 열이 무엇인지 알려주는 보호 필드를 정의해야 합니다.

protected $primaryKey = 'guid';

그러면 모델에서 해당 속성에 액세스할 수 있습니다.

모델의getKey()method는 당신에게 기본 키의 값을 주어야 합니다.getKeyName()기본 키에 사용되는 열 이름이 무엇인지 알려주어야 합니다.

역동적으로 하고 싶다면 -

app("App\\Models\\" . $modelName)->getKeyName();//Laravel 8
app("App\\" . $modelName)->getKeyName();//Laravel less than 8

언급URL : https://stackoverflow.com/questions/30457184/get-primary-key-of-eloquent-model-instance