1.获取参数 get方式 【查询字符串方式:Query String】 http://test.oa.com/api/u2d/texture/export?name=test&sex=男 Route::get('export', 'U2dTextureController@test'); //路由
//导出excel get请求测试 //控制器方法 public function test(Request $request){ $all = $request->all(); dd($all); $name = $request->query('name', 'Helen'); $sex= $request->query('sex', 'male'); dd($name,$sex); } // 输出: array:3 [ "_u" => "u3d/texture/export" "name" => "test" "sex" => "男" ] 2.查看模型生成的sql dd($model->toSql()); //有时不能生效,是因为此时$model已经不是模型类,或者说发生了变化/具体分析源代码。 3.查看手册 //通过打印源代码 $total = $model->getQuery(); //dd($totle); //很详细
4.查看laravel 的报错机制【‘浅尝辄止’】 //关键词: exception 与 trace 前者告诉你在问题最终出现的运行文件,后者告诉在该文件中执行的路径【即调用栈】 5.在laravel5.1框架中接收contentType为application/json的数据时怎么接收官方文档不是很清楚 ,stackoverflow上找到的解决思路.
class TestController extends BaseController { function test() { $data = Input::json(); return $data->get('name', 'daniel'); //待验证 } } | 6.使用where查询 public function getSearchQueryByField($path = '', $fields = []){ $query = self::query(); $query->selectRaw('*, sourcewidth*sourceheight as sourceOrder,platformwidth*platformheight as platformOrder'); $query->where(['testid' => $this->testid]); if(!empty($path)){ $query->where('filepath','like', "%{$path}%"); } foreach ($fields as $v){ if(in_array($v['id'], ['filepath'])){ if(is_array($v['val'])){ $query->where($v['id'],'in', $v['val']); }else{ $query->where($v['id'],'regexp', $v['val']); } }else if(in_array($v['id'], ['submitter'])){ $query->where($v['id'],'like', '%'.$v['val'].'%'); }else if(strpos($v['id'],"min_") !== false){ $query->where(str_replace('min_', '', $v['id']),'>=', $v['val']); }else if(strpos($v['id'],"max_") !== false){ $query->where(str_replace('max_', '', $v['id']),'<=', $v['val']); }else if(in_array($v['id'], ['setformat'])){ if(!is_array($v['val']) || count($v['val']) == 0) continue; $query->whereIn($v['id'], $v['val']); }else{ $query->where($v['id'],'=', $v['val']); } } return $query; } 7.post请求获取参数 //获取请求参数 这里封装为助手函数的形式 function getParams($req){ $data = file_get_contents('php://input'); $type = $_SERVER['CONTENT_TYPE']; if(stripos($type,'application/json') !== false){ //使用application/json请求方式 $data = json_decode($data, true); }else{ //使用x-www-form-urlencoded 方式,其中部分使用json字符串,关键是根据$data的接收类型而定 $data = $req->all(); foreach($data as &$v){ $ret = json_decode($v, true); if($ret) $v = $ret; if($v === '[]') $v = []; if($v === 'false') $v = false; } } return $data; } 6. laravel5.0框架查看执行过的sql语句 https://blog.csdn.net/william_n/article/details/97243493 7.Laravel5.0中使用LaravelExcel实现文件导出 https://blog.csdn.net/william_n/article/details/95647433 后续补充 ... |