如何将以下网址重定向到小写网址?
http://domain.com/City/really-long-slug-from-db/photos
http://domain.com/city/Really-Long-Slug-From-Db/photos
http://domain.com/City/really-long-slug-from-db/Photos
至
http://domain.com/city/really-long-slug-from-db/photos
这是我的路线:
Route::any('/{city}/{slug}/{page?}',
array(
'as' => 'slug-page',
function($city, $slug, $page="info"){
return View::make('default.template.'.$page)
->with('city', $city)
->with('page',$page)
->with('slug', $slug);
}
))
->where(
array(
'city' => '[a-z ]+',
'page' => '[a-z-]+',
'slug' => '(about|photos|videos)'
));
Run Code Online (Sandbox Code Playgroud)
目前我使用正则表达式[a-z-]+只匹配较小的字符串字符串,并且NotFoundHttpException出于显而易见的原因抛出.如何在不区分大小写的字符串中接受所有这些参数,并在Laravel 5.1中将301重定向(以避免重复的URL)到较小的案例URL?
如何在 Laravel 中执行多个其中操作?
$devices = DB::table('foo')
->select('foo.*')
->whereIn('bar1', $request->bar1)
->whereIn('bar2', $request->bar2)
->get();
Run Code Online (Sandbox Code Playgroud)
上面是我的示例代码,但它返回一个空数组。
如何在laravel 5.1中实现rememeber me功能?谁能举个例子?
请我有 3 个表要显示,但其中 3 个表是相关的。
第一个表是GROUPS,第二个是CONTACTS,最后一个是PHONE_NUMBERS。
我正在使用 Laravel 框架。问题是,我不知道佞关系到使用,我想给的显示内容GROUPS表,同时CONTACTS会显示下GROUPS和PHONE NUMBERS会下的显示CONTACTS。
请建议我如何实现这一目标。附件是完成后的外观图像。

问题:我无法在中间件中找到{id}参数.我的中间件需要获取{id}参数,以验证Auth :: user()是否是指定组的所有者.
请求示例:groups/admin/open/4 - >将打开第4组.
是)我有的:
路线:
Route::post('groups/admin/open/{id}', 'GroupController@opengroup')->middleware(['auth','owner']);
Run Code Online (Sandbox Code Playgroud)
我的中间件('所有者')仍然是空的.
我尝试了什么:1.在函数中添加$ id参数(就像在控制器中一样),如下所示:
public function handle($request, /* Added -> */ $id, Closure $next)
{
dd(Input::get('id'));
return $next($request);
}
Run Code Online (Sandbox Code Playgroud)
这会返回一个错误:
Argument 3 passed to App\Http\Middleware\RedirectIfNotOwner::handle() must be an instance of Closure, none given
Run Code Online (Sandbox Code Playgroud)
最后,$ id的不同位置会导致错误:
Missing argument 3 for App\Http\Middleware\RedirectIfNotOwner::handle()
Run Code Online (Sandbox Code Playgroud)
我试过的2:我想过要改变我的网址
请求示例:groups/admin/open?groupparam = 4
并使用
Input::get('groupparam');
Run Code Online (Sandbox Code Playgroud)
但这迫使我改变我的控制器等.这仍然是一个选择.
问的理由:此外我相信Laravel也有能力在中间件中检索{id} params,非常漂亮.我只是不知道如何.
你能帮助我吗?
谢谢,
Eltyer
我有一个像这样定义的路由:
Route::resource('problem', 'ProblemController');
我POST去的那一刻/problem,一个ProblemController@store方法被解雇了.
现在我想要的是返回一个JSON响应,如果它是一个API调用或一个视图(或者可能是重定向),如果我在我的应用程序的"web端".我该如何处理这个问题?
我应该创建单独的控制器?我(在每个方法/控制器中)是否应该检测请求的类型并做出相应的响应?我应该使用中间件吗?路线组?单独申请?
主要目标是在一个包中包含多种应用程序类型(API +版本控制+ Web),但共享业务逻辑,模型和大多数代码(以避免重复).
我正在使用Laravel 5.2.
谢谢!
我正在尝试在已经存在的数据库上设置Laravel关系,我无法更改.
在此数据库中有一个以Teams列命名的表:
此外,还有一个以Users列命名的表:
这些表之间的关系如下:Users.User_id= Teams.Teamleader_1OR Users.User_id=Teams.Teamleader 2
如何在两个teamleader列上的用户和团队之间设置hasMany关系?
如何在laravel Storage中没有特定扩展名的名称查找文件?
像这样 "filename.*"
Storage::get("filename.*")
Run Code Online (Sandbox Code Playgroud)
我试过这个,但似乎没有用.它搜索具有特定扩展名的特定文件.
首先,我在网上搜索了一个答案,却找不到令我惊讶的任何答案。也许我没有搜索正确的术语,如果是这种情况,请事先打扰。
所以我在模型中定义了一些隐藏的字段:
protected $hidden = [
'hasExpired', 'hasBeenTreated', 'reporterId'
];
Run Code Online (Sandbox Code Playgroud)
这就是我输出结果的方式:
return response()->json([
'latestReports' => $latestReports
]);
Run Code Online (Sandbox Code Playgroud)
$ latestReports变量在其他地方定义为:
$query = DB::table('reports')
->where('catId', 0) ;
$latestReports = $query->where('hasExpired', 0)
->orderBy('created_at', 'desc')
->get();
Run Code Online (Sandbox Code Playgroud)
这些字段仍然有可能出现在我从服务器获得的客户端响应中,最重要的是,我应该纠正这些问题以防止它们出现。换句话说,如何使隐藏数组得到强制执行?
请注意:对于某些其他模型(例如,用户),将强制使用隐藏数组,即隐藏字段不会出现在响应中。
任何帮助表示赞赏。
我正在对我的数据进行搜索查询,我只想获取列中值为 0 的可用行,is_temp如果用户向我发送搜索查询,我想在其他列中搜索此值
这就是我现在所拥有的:
$clients = Company::where('guid',$guid)->first()
->clients()
->where('is_temp',0)
->orderBy('name', $sort_order)
->skip($per_page*($page-1))
->take($per_page);
if($search_query != ""){
$clients = $clients->orWhere('name','LIKE','%'.$search_query.'%')
->orWhere('email','LIKE','%'.$search_query.'%')
->orWhere('vat_number','LIKE','%'.$search_query.'%')
->orWhere('contact_name','LIKE','%'.$search_query.'%');
}
$response = [
'clients' => $clients->get()
];
return response()->json($response, 200);
Run Code Online (Sandbox Code Playgroud)
但是当我以这种方式使用它时,我也会得到字段is_temp等于 1的行,所以我需要使用 (where) 和 (where 或 where 或 where...)
我怎么做?
laravel ×10
laravel-5 ×10
php ×10
eloquent ×5
laravel-5.1 ×3
api ×1
laravel-5.2 ×1
middleware ×1
routing ×1
storage ×1