function ($params) { return [ 'filters' => [ ['field' => 'status', 'operator' => '=', 'value' => '1'], ], 'fields' => ['id','status'], 'relations' => [ 'skuAttributes' => [], 'skuAttributes.attribute' => ['id', 'input_type', 'is_img', 'status'], 'skuAttributes.value' => ['id','color_code'], ], 'sorts' => [ ['field' => 'created_at', 'direction' => 'desc'] ], 'pagination' => [ 'page' => $params['page'] ?? 1, 'per_page' => $params['per_page'] ?? 10, ] ]; }, 'show' => function ($params) { return [ 'filters' => [ ['field'=>'id', 'operator'=>'=', 'value'=> $params['id']], ], 'fields' => ['id', 'status'], 'relations' => [ 'skuAttributes' => [], 'skuAttributes.attribute' => ['id', 'input_type', 'is_img', 'status'], 'skuAttributes.attribute.translation' => ['attribute_name'], 'skuAttributes.value' => ['id','color_code'], ], ]; }, // 'default' => function ($params) { // $keyword = $params['keyword'] ?? ''; // return [ // 'filters' => [ // ['field' => '***', 'operator' => '=', 'value' => '***'] // ], // 'fields' => ['id'], // 'relations' => [], // 'custom' => function(Builder $q) use ($keyword) { // // 示例 // if ($keyword) { // $q->where(function($q2) use($keyword) { // $q2->whereHas('***', function($q3) use($keyword) { // $q3->where('***', 'like', "%{$keyword}%"); // })->orWhereHas('***', function($q4) use($keyword) { // $q4->where('***', 'like', "%{$keyword}%"); // }); // }); // } // }, // 'sorts' => [ // ['field' => 'created_at', 'direction' => 'desc'] // ], // 'pagination' => [ // 'page' => $params['page'] ?? 1, // 'per_page' => $params['per_page'] ?? 10, // ] // ]; // } ]; } }