问题标签 [laravel-5.8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2084 浏览

laravel - Laravel:如何确保用户在注册和登录后进入角色特定的主页视图?

我在 laravel-5.8 中为一个大学网站创建了一个自定义的多身份验证系统,每个用户都注册一个特定的角色:管理员、教师或 HOD(部门主管)。

我正在使用我们在运行后获得的控制器和视图

注册后,所有用户都将重定向到默认主页,无论其角色如何。这 3 个角色在用户表中存储为角色列下的 0、1 和 2。我修改了默认提供的用户表。

我的登录机制运行良好。用户被重定向到其角色的主页。这是我的做法:

登录控制器.php

这是来自login.blade.php的 POST 请求所使用的路由

但是每次我注册一个新用户时,它都会将用户带到教师主页路径,即使他们是管理员或 HOD。这是注册机制:

RegisterController.php (下面只展示相关函数)

我试图通过这样做使其正常工作:将变量更改redirectTo为函数。//一个想法:替换“protected $redirectTo = '/home';” 经过...

但它不起作用,因为我似乎错过了一些东西。

另一个令人沮丧的是,用户登录后可以访问其他角色的主页。在middleware('auth')我的路线中有助于防止在未登录时访问 URL,但它不会阻止已登录的用户访问其他主页。

以下是到主页的路线:

默认welcome.blade.php也将登录的用户重定向到教师的主页:


  1. 如何确保用户在新注册和登录时访问正确的主页?
  2. 如何确保一个角色的主页无法访问其他角色?

编辑1:

合并@N69S 建议的更改后,发生了以下情况:

  • 页面已成为特定角色。
  • 一个角色无法访问另一个角​​色的页面,未经身份验证的用户无法查看除欢迎页面之外的任何页面。

该解决方案奏效了。但是当试图非法访问 URL 时,就会产生错误。但相反,用户被发送到欢迎页面。这个页面的右上角只有一个链接,叫做“HOME”。当管理员或 HOD 用户登录时,此链接不起作用,因为它路由到'/home'如下所示:

如何更改此视图文件以将登录用户发送到其角色的 HOME?

0 投票
2 回答
1040 浏览

php - laravel 5.8 在 ajax 请求上响应 500 内部服务器错误

我正在尝试向array我的控制器发送一个以保存在数据库中,如果在这种情况下我将array a string它保存到数据库中。所以当data: {'mapData' : arrayAllDrawings},它崩溃时(arrayAllDrawings beeing一个数组)。但是当它像这样的字符串被硬编码时,data: {'mapData' : 'string'},它会通过并保存在数据库中success message

storage/logs服务器抛出 500 内部服务器错误时的错误日志

[2019-03-28 08:40:09] local.ERROR: 数组到字符串转换 {"userId":1,"exception":"[object] (ErrorException(code: 0): 数组到字符串转换在 C: \Users\Merlijn\AppData\Roaming\Composer\Laravel Projects\Forum\vendor\laravel\framework\src\Illuminate\Support\Str.php:354) [stacktrace]

我尝试JS用 in 将数组变成 1 个长字符串,JS.toString()仍然给出了同样的错误。

JS 数组的样子例如:

javascript代码ajax:

控制器:

0 投票
1 回答
2359 浏览

ajax - 块上传不适用于大文件 - Laravel 5.8

我需要将大文件上传到我的网站,为此,我使用了Dropzone JSpion/laravel-chunk-upload,我不明白,一切都是好的和真实的,但是尽管如此,任何大文件的上传未完成,上传小文件时,我得到了结果,但是当我尝试使用更大的文件时,例如 5MB,

  • 它在主机上传的一部分停止,例如(Hostinger)
  • 不起作用并从 Laravel验证器为 WampServer 4 (localhost)给出错误

我试图在这里删除我的验证器,但同样的问题,我无法上传或检查是否是有效文件或类似的东西!(对于本地主机)

我尝试了很多但我不明白问题并且找不到解决方案,请帮助,这是我的代码:

我的观点:

控制器:

JS:

0 投票
1 回答
527 浏览

php - 如何为 Laravel 模块架构应用 CRUD 生成器?

我已经使用以下命令在 Laravel 5.8 中创建了一个模块。

创建一个休假模块结构。但是如何使用 infyom(或其他)CRUD 生成器在此模块中创建 CRUD 操作?

0 投票
2 回答
1781 浏览

laravel - 如何让 Session 在 Laravel 5.8 中工作

在 Laravel 5.8 中会话不起作用。

.env 设置: SESSION_DRIVER=file

控制器文件index()功能:

$request->session()->put('prediction','xyz');

我首先设置会话,然后尝试将其用于show()控制​​器中的其他功能。

echo $request->session()->get('prediction');exit;

但这不起作用,它变得空白。

内核.php

0 投票
0 回答
889 浏览

php - Laravel Nova 按相关查询排序

我需要在 Laravel Nova 的相关查询中应用订单。

我已经尝试了此页面上的所有内容https://github.com/laravel/nova-issues/issues/156并且无法获得任何详细的方法来处理我的应用程序。

我有 3 个模型对这个问题很重要;事件、品牌和车辆。

多个品牌的活动 | 品牌属于许多活动

品牌有很多车辆 | 车辆属于一个品牌

事件属于许多车辆 | 车辆属于许多活动

当用户创建事件时,他们会继续选择与该事件关联的品牌。

这可以通过将下面的行放在我的 Nova 事件资源中的字段函数中来促进。

BelongsToMany::make('Brand')->sortable(),

一旦用户附加了关联的品牌,他们就会继续附加关联的车辆。

使用我在 Nova 事件资源中的相关查询填充车辆列表;

现在,当我去附加车辆时,它仅由与附加到事件的品牌相关的车辆填充。

问题是提供的选择框中的选项是按标题排序的。

我的车辆资源中有以下内容,我认为这是问题的根源;

public static $title = 'model';

但显然我需要在资源中使用它,以便选择框正确显示。

有谁知道我怎么可以用标题以外的东西来订购?我正在尝试按brand_id 订购。

0 投票
2 回答
370 浏览

laravel-5.8 - Laravel 5.8 访问错误messageBag 进行数组验证

我验证了一个二维数组,当验证器失败时,validator->errors()包含:

现在我可以访问所有这样的错误:

这会将消息放入$error = "The 1.0 does not match the format d/m/Y.";

如何访问“1.0”键?

0 投票
1 回答
661 浏览

laravel-5.8 - 如何在 Laravel Envoy 脚本中设置密码?

在使用特使的 Laravel 5.8 中,我想在控制台命令中设置用户的密码,例如

在特使文件中:

但是在这两种情况下 $user_password 输出都是空的:1)如果在命令中设置了 serveruser_password

2)或者它是空的

但我预计“未定义”输出......

为什么会出错以及如何正确?

0 投票
0 回答
105 浏览

php - htmlspecialchars() 期望参数 1 在 Laravel 5.8 中是字符串

我正在设置地图,并想显示坐标。我需要做什么?

模型

0 投票
1 回答
988 浏览

laravel-5.8 - Laravel:以多态一对多关系存储记录

我有三个相互关联的表抛出多态一对多关系

我想将电话号码添加到phones与特定用户相关的表中

用户.php

电话.php

创建.blade.php

Javascript

我正在尝试将记录存储到手机中使用此代码UserController.php

但它给了我一个错误

传递给 Illuminate\Database\Eloquent\Relations\HasOneOrMany::save() 的参数 1 必须是 Illuminate\Database\Eloquent\Model 的实例,给定字符串,在 C:\Server\data\htdocs\justice_way\vendor\laravel 中调用\framework\src\Illuminate\Database\Eloquent\Relations\HasOneOrMany.php 在第 264 行

dd($request)了我

当我尝试

它给出了错误

传递给 Illuminate\Database\Grammar::parameterize() 的参数 1 必须是数组类型,int 给定,在 C:\Server\data\htdocs\justice_way\vendor\laravel\framework\src\Illuminate\Database\Query 中调用\Grammars\Grammar.php 在第 871 行