ホームページ >バックエンド開発 >PHPチュートリアル >[ThinkPHP]関連クエリの問題
ThinkPHP フレームワークを使用して開発されました
Personalapply テーブルは User モデルに関連付けられています:
'personalapply' =>array(
'mapping_type'=>self::HAS_MANY,
'foreign_key'=> 'uid ',
'MAPPING_NAME' = & GT; 'Personalapply',
),
コントローラー: フロントエンドによって受け取られたフィールドに従ってクエリ スクリーニング (フィールドは Personalapply です)
// のアプリケーション情報を取得しますパーソナル センター
$limit_year = $ _Get [ 'limit_year']; - $ applymap['loanuse'] = $loanuse
$userapply=$user->relation('personalapp; ly')->どこ($applymap)->select();//ユーザー テーブルのフィールドのみをクエリできます。personalapply テーブルのフィールドをクエリすることはできません。
質問: ユーザー テーブルをpersonalapply テーブルに関連付けた後、どのようにクエリを実行できますか?データは変数に基づいて個人的に適用され、関連付けられた後にクエリ データを取得します。モデル内の条件はハードコーディングのみ可能です。変数を渡すことはできません。 (私も初心者でマニュアルを読みましたが、マニュアルには載っていませんでした。すべての機能を知っているわけではないと思います。ThinkPHP が動作しない場合は、PHP SQL クエリを使用します。ThinkPHP の実装方法を指摘してください。 THX!!)
ディスカッションに返信 (解決策) クエリにはビュー モデルを使用することをお勧めします: カスタム モデルを作成します (TP3.2 バージョンの場合、名前空間を導入することを忘れないでください)
class UserPersonalapplyViewModel extends ViewModel{ public $viewFields = array( 'User'=>array( 'User表需要取的字段1', '字段2', '字段3' ), 'personalapply'=>array( 'personalapply表需要取得字段1', '字段2', '字段3', '_on'=>'User.主键=personalapply.uid', '_type'=>'LEFT' ), );}
$UserPersonal = D('UserPersonalapplyViewModel');
class UserPersonalapplyViewModel extends ViewModel{ public $viewFields = array( 'User'=>array( 'User表需要取的字段1', '字段2', '字段3' ), 'personalapply'=>array( 'personalapply表需要取得字段1', '字段2', '字段3', '_on'=>'User.主键=personalapply.uid', '_type'=>'LEFT' ), );}
次に、コントローラーでこのモデルをインスタンス化しますデータを取得できます。
$UserPersonal = D('UserPersonalapplyViewModel');
class UserPersonalapplyViewModel extends ViewModel{ public $viewFields = array( 'User'=>array( 'User表需要取的字段1', '字段2', '字段3' ), 'personalapply'=>array( 'personalapply表需要取得字段1', '字段2', '字段3', '_on'=>'User.主键=personalapply.uid', '_type'=>'LEFT' ), );}
$UserPersonal = D('UserPersonalapplyViewModel');
class UserPersonalapplyViewModel extends ViewModel{ public $viewFields = array( 'User'=>array( 'User表需要取的字段1', '字段2', '字段3' ), 'personalapply'=>array( 'personalapply表需要取得字段1', '字段2', '字段3', '_on'=>'User.主键=personalapply.uid', '_type'=>'LEFT' ), );}
rree
返信遅くなってごめんなさい!あなたの方法を試してみます!どうもどうも!