问题标签 [laravel-7]
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.
php - db:seed laravel 不可能
早上好,
我无法将数据从我的工厂发送到我的数据库。
我不知道在我的迁移中是否必须指定我的 foreign_keys 没有默认值......
这些是我的文件:
create_books_table.php
BookFactory.php
我还没有在我的 web.php 中创建一个“路由”,所以我也没有完成 CRUD,我什至没有修改我的刀片,但我现在只想设置我的整个数据库。但我想知道这是否不是问题所在。
这是我数据库中的示意图: https ://imgur.com/a/8Txn7x2 (我还不允许上传图片。)
(我在编码学校)
谢谢!
php-carbon - 升级到 Laravel 7 时出现日期错误
我已经成功地将我的 Laravel 实例升级到版本 7。到目前为止,除了以下错误之外,一切似乎都很好。
传递给 Carbon\CarbonInterval::setLocalTranslator() 的参数 1 必须实现接口 Symfony\Component\Translation\TranslatorInterface,给定 Carbon\Translator 的实例,在 /var/www/laravel/vendor/nesbot/carbon/src/Carbon/Traits 中调用/差异.php
我遵循了升级文档并将以下内容添加到我的模型中(但仍然遇到同样的问题)。
php - User.php boot() 方法在用户注册时被多次调用
当使用内置的 Laravel 7 功能创建用户时,我boot()
在我的 User 模型上调用该方法,以便为新用户分配 UUID。我遇到的问题是,由于某种原因,启动方法 get 总共调用了 4 次,导致在 S3 上创建了 4 个不同的目录。
应用程序/用户.php
这是在创建时向用户添加字段的正确方法吗?我尝试使用该RegisterController.php -> create()
方法添加它,但它不会向用户添加任何内容,并导致错误提示 ID 需要默认值。
php - 日期序列化后 Laravel 7 中的时区错误
我正在开发一个新的 Laravel 7.1 应用程序(不是升级)但似乎使用日期序列化会松散时区。
配置/app.php
修补例子
所以,当我解析日期时,我没有得到正确的日期。
目前我正在这样做
作为替代方案,我可以更改模型中的默认日期格式,如文档中所述
但我猜最好Carbon::parse()
和/或new Carbon()
默认使用我的时区。-
laravel - 用户模型扩展了 Authenticatable 并扩展了模型(用于雄辩的目的)
我有一个扩展 Authenticatable 的用户模型。但我希望该用户模型同时扩展模型。这是因为我想在这个模型中建立 hasmany() 关系。你们有办法让我怎么做吗?
laravel - How to use custom keys in laravel routes without scoping?
When using custom keys Laravel forces us with scoping, for example, I have a route to getting a country and a post
but I can't get that using slug key because it doesn't have a relation with country, and in this case, I want to handle scope myself and I don't need implicitly scope binding, but I get an error (Call to undefined method App\Country::posts() ). so because of that I cant using this Laravel feature. is there a way to turn the implicitly scope binding off?
laravel-7 - Laravel 活动日志不更新属性列
我正在学习使用spatie/laravel-activitylog
包在 Laravel(7.1) 中记录活动。但是当我更新用户时,它不会更新表properties
中的列activity_log
,我在模型( )上设置$logAttributes
了属性protected static $logAttributes = ['name', 'email'];
当我更新用户时
它记录该活动,但返回一个空的属性列。
php - Laravel 7.1 - URL::defaults() 在高优先级中间件中不起作用
我在我的项目中大量使用子域路由,因为它是一个多租户应用程序,每个租户都有自己的子域。
结果,我的所有路线都包含在:
要route()
在我的代码中使用帮助程序,我需要向它传递与之关联的所有路由参数。每条路线都tenant
与之相关,所以我经常发现自己重复代码和写作route('my-route-name', ['tenant' => $request->route('tenant')]);
我创建了一个中间件,其中包含以下代码:
并将其放在 HTTPKernel.php
文件中,如下所示:
我必须将它添加到$middlewarePriority
数组中,因为它需要在Authenticate
中间件之前运行。由于Authenticate
调用return route('login');
,我需要事先提供该 URL 参数。
现在完成所有这些操作后,我仍然从Authenticate
中间件中得到以下错误:Missing required parameters for [Route: login] [URI: login].
如果我ddd(URL::getDefaultParameters());
在Authenticate
中间件中运行,它会打印一个空数组。但是,如果我ddd(...)
在SetTenantFromRequest
中间件中运行相同的程序,它会按照我的预期显示租户。
有谁知道我如何解决这个问题?
laravel - 在 Laravel 中触发中间件后返回路由
我在 Laravel 7 中工作,并且有一个中间件来检查用户是否有当前的用户协议,如果没有,它会重定向到提供当前协议的表单。当报价被接受时,我需要重定向回他们最初去的地方。我想我需要在会话中放一些东西,这样当我的控制器存储他们的接受时,它就可以重定向回原始路由。
我想我需要获取当前请求并将其传递给重定向,以便用户协议控制器可以以某种方式捕获它,然后在存储协议后重定向......我不确定。
laravel - Laravel 关系多对多按外键计数相关数据
我的项目中有 3 个模型:
用户型号代码:
职业型号代码
移民:
UserProfession型号代码
移民:
当我尝试使用此代码时,我通过他的名字搜索用户并到达那里的职业名称,然后计算该职业中的用户。
代码:
我收到错误消息:
Illuminate\Database\QueryException:SQLSTATE[23000]:完整性约束违规:1052 列“id”在 where 子句中不明确(SQL:从存在的专业中选择 *(从用户内部连接 user_professions 上选择 *user.id = user_professions.user_id其中professions.id = user_professions.profession_id 和 id in (11, 43, 82)))
我的代码哪里有错误,我该如何解决?