私はlumanとDatabase Query Builderを使用してデータベースから完全なユーザー情報を取得しています。laravel query builder:一次コンテンツに依存して結合する
まず、私のデータベース構造でロックをしてください: 私はテーブルがusers
と呼ばれているとユーザグループ(例:secretaries
、patients
、doctors
とadmins
)に関連する他の一連のテーブルについての追加情報を格納しますユーザー。
また、私はuser
テーブルにlevel
カラムを持っています。これは、この値の1つをenum:'admin', 'doctor', 'secretary', 'patient'
とすることができます。
のクエリをjoin
とselect
で取得したいと考えています。
私のトレーニングのコードは次のようなものです:
$userInfo = User::where("userID", $userID)
->limit(1)
->join('[GROUP_TABLE_NAME]', function ($join) {
$join->on('user.userID', '=', '[GROUP_TABLE_NAME]' .'.'.
'[GROUP_NAME]' . 'ID');
})
->get();
GROUP_NAME
がuser
テーブルの上にlevel
列から来ているとGROUP_TABLE_NAME
がGROUP_NAME
値に基づいて構築することができます(例:['secretary' => 'secretaries' , 'patient' => 'patients' , ...]
) 。
laravel query builderを使用して結合構造を処理する方法はありますか?
多型関係を見てください。https://laravel.com/docs/5.4/eloquent-relationships#polymorphic-relations –