2

というテーブルがありますUsersuserIDこのテーブルには、 、userNamefunctionIDsupervisorIDfirstNamelastNameおよびのパラメータが保持されますemail

EXT JS で作成したアプリケーションにユーザーをロードするときは、PHP で次のクエリを使用します。

public function getEmployees(stdClass $params)
{
    global $DBH;
    $STH = $DBH->query(
        "SELECT u.id, u.userName AS 'userName', f.functionName, us.userName AS 'supervisorName', u.firstName, u.lastName, u.email 
         FROM users AS u 
         INNER JOIN functions AS f ON u.functionID=f.id
         LEFT JOIN users AS us ON u.supervisorID=us.id 
         ORDER BY u.id");
    return $STH->fetchAll(PDO::FETCH_ASSOC);
}

したがって、 and を通過する代わりに、functionIDandsupervisorIDを通過しfunctionNameますsupervisorName
私のアプリケーションのグリッドには、(ID ではない)、(ID ではない)、... が表示userNamefunctionNamesupervisorNameますfirstName

今、私は新しいユーザーを作成する方法と、アプリケーションがuserName, functionName(したがって、これを に変換する必要があるfunctionID)、supervisorName( に変換する必要があるsupervisorID) 、に合格した場合にユーザーを更新する方法について頭を悩ませて いますfirstName
多数のクエリを試しましたが、理解できないようです。

誰かがこれで私を助けてくれますか?

前もって感謝します!

コメント後の更新:
私のサイトは Sencha の EXT JS で構築されていることを言及すべきでした。
管理者のみが新しいユーザーを編集または作成できます。
作成/編集は EXT Grid で行われ、JSON データは Ext.Direct を使用して PHP に渡されます。そのため、アプリケーションから渡されたandに関連付けられたand
を取得する方法が必要です。functionIDsupervisorIDfunctionNamesupervisorID

4

2 に答える 2