小编jed*_*ylo的帖子

在Laravel中处理url的字符大小写?

如何将以下网址重定向到小写网址?

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?

php routing laravel laravel-5 laravel-5.1

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

Laravel Multiple 其中

如何在 Laravel 中执行多个其中操作?

$devices = DB::table('foo')
              ->select('foo.*')
              ->whereIn('bar1', $request->bar1)
              ->whereIn('bar2', $request->bar2)
              ->get();
Run Code Online (Sandbox Code Playgroud)

上面是我的示例代码,但它返回一个空数组。

php query-builder laravel eloquent laravel-5

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

如何在laravel 5.1中实现"记住我"?

如何在laravel 5.1中实现rememeber me功能?谁能举个例子?

php session-cookies laravel laravel-5 laravel-5.1

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

3 个表上的 Laravel Eloquent 关系

请我有 3 个表要显示,但其中 3 个表是相关的。

第一个表是GROUPS,第二个是CONTACTS,最后一个是PHONE_NUMBERS

我正在使用 Laravel 框架。问题是,我不知道佞关系到使用,我想给的显示内容GROUPS表,同时CONTACTS会显示下GROUPSPHONE NUMBERS会下的显示CONTACTS

请建议我如何实现这一目标。附件是完成后的外观图像。

在此处输入图片说明

php laravel eloquent laravel-5

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

Laravel在中间件中获取{id}参数

问题:我无法在中间件中找到{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

php middleware url-parameters laravel laravel-5

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

Laravel资源控制器 - 将API调用与浏览器区分开来

我有一个像这样定义的路由:

Route::resource('problem', 'ProblemController');

POST去的那一刻/problem,一个ProblemController@store方法被解雇了.

现在我想要的是返回一个JSON响应,如果它是一个API调用或一个视图(或者可能是重定向),如果我在我的应用程序的"web端".我该如何处理这个问题?

我应该创建单独的控制器?我(在每个方法/控制器中)是否应该检测请求的类型并做出相应的响应?我应该使用中间件吗?路线组?单独申请?

主要目标是在一个包中包含多种应用程序类型(API +版本控制+ Web),但共享业务逻辑,模型和大多数代码(以避免重复).

我正在使用Laravel 5.2.

谢谢!

php api laravel laravel-5 laravel-5.2

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

Laravel在多个列上有很多关系

我正在尝试在已经存在的数据库上设置Laravel关系,我无法更改.

在此数据库中有一个以Teams列命名的表:

  • Teamleader_1
  • Teamleader_2

此外,还有一个以Users列命名的表:

  • 用户身份

这些表之间的关系如下:Users.User_id= Teams.Teamleader_1OR Users.User_id=Teams.Teamleader 2

如何在两个teamleader列上的用户和团队之间设置hasMany关系?

php laravel eloquent laravel-5 laravel-5.1

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

如何在laravel存储中找到没有特定文件扩展名的文件?

如何在laravel Storage中没有特定扩展名的名称查找文件?

像这样 "filename.*"

Storage::get("filename.*")
Run Code Online (Sandbox Code Playgroud)

我试过这个,但似乎没有用.它搜索具有特定扩展名的特定文件.

php storage laravel laravel-5

1
推荐指数
2
解决办法
6961
查看次数

Laravel 5.3:JSON响应中返回隐藏字段

首先,我在网上搜索了一个答案,却找不到令我惊讶的任何答案。也许我没有搜索正确的术语,如果是这种情况,请事先打扰。

所以我在模型中定义了一些隐藏的字段:

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)

这些字段仍然有可能出现在我从服务器获得的客户端响应中,最重要的是,我应该纠正这些问题以防止它们出现。换句话说,如何使隐藏数组得到强制执行?

请注意:对于某些其他模型(例如,用户),将强制使用隐藏数组,即隐藏字段不会出现在响应中。

任何帮助表示赞赏。

php laravel eloquent laravel-5

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

Laravel Eloquent - (where) and (where or where or where)

我正在对我的数据进行搜索查询,我只想获取列中值为 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...)

我怎么做?

php laravel eloquent laravel-5 laravel-eloquent

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