小编Seb*_*sen的帖子

CakePHP 3.包含选择

我有很多关系,TrainingPrograms可以包含很多练习.它们是通过可链接的ExercisesTrainingPrograms链接的.

我想从练习中选择某些字段:

$trainingPrograms = $this->TrainingPrograms->find()
            ->contain(['Exercises' => function ($q) {
                return $q
                    ->select(['id','name','description']);
            }
            ])
            ->select(['id','name','description'])
            ->where(['user_id' => $this->Auth->user('id')]);
Run Code Online (Sandbox Code Playgroud)

结果我看起来像这样:

   "trainingPrograms": [
            {
                "id": 1,
                "name": "Monday Madness",
                "description": "hes",
                "exercises": [
                    {
                        "id": 2,
                        "name": "Barbell Bench Press",
                        "description": "Medium grip ",
                        "exercise_categories_id": 2,
                        "exercise_difficulties_id": 1,
                        "created": "2015-09-16T07:07:01+0000",
                        "modified": "2015-09-16T07:07:01+0000",
                        "_joinData": {
                            "exercise_id": 2,
                            "id": 28,
                            "training_program_id": 1,
                            "created": "2015-10-07T15:45:49+0000"
                        }
                    },
                    {
                        "id": 2,
                        "name": "Barbell Bench Press",
                        "description": "Medium grip ",
                        "exercise_categories_id": 2,
                        "exercise_difficulties_id": 1,
                        "created": "2015-09-16T07:07:01+0000", …
Run Code Online (Sandbox Code Playgroud)

orm cakephp contain cakephp-3.0

4
推荐指数
1
解决办法
2068
查看次数

标签 统计

cakephp ×1

cakephp-3.0 ×1

contain ×1

orm ×1