问题标签 [laravel-5.1]
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.
laravel - Laravel 5 如何在创建时向用户添加多个外键约束?
我现在知道我可以通过执行以下操作使用区域和用户之间的 haveMany 关系创建用户:
但是如果有多个外键,你如何创建一个用户而不使它们可以填充超过 1 个外键约束?如果有 3 个或 4 个呢?
不同模型中的关系设置示例:
如果它有助于更好地理解关系,我的迁移的精简版本如下所示:
区域和位置模型示例:
php - Laravel Eloquent:计算总价的最佳方法
我用 Laravel 5.1 构建了一个简单的买卖应用程序。每个 Buy 模型都有许多 BuyDetail,其中存储了购买的商品数量和购买价格。我已经在模型上实现了表之间的关系。
我想计算每次购买的总价格。使用 Eloquent ORM 计算总价的最佳方法是什么?
现在我只是这样实现它:
php - 在 laravel5.1 中使用 FileSystem 上传文件?
我想上传文件laravel
,我只使用本地服务器而不是任何云存储。从文档中,我找到了两种与文件上传相关的方法,
- 普通方法
(Request::file('file')->move(dest,filename))
- 使用文件系统
但我无法理解这些方法之间的实际区别?
如果我使用普通方法,
这里应该是路径,storage/app
还是public/uploads
(新)?
如何使用 上传文件File System
?
php - Laravel 5.1 名称路由错误
我需要你的帮助来解决我不明白的事情。
我正在通过此页面的一些教程(西班牙语,我的语言)学习 Laravel:https ://styde.net/proyectos/
首先,我毫无问题地完成了Curso básico de Laravel 5(链接到教程)。但是现在,我在做Curso de Laravel 5.1(链接到教程)我发现了一个问题。
在第一部分的第三点,展示了 Laravel 如何将路由添加到 routes.php中。
我有这个网址(从 Laravel 文档中复制)并且工作正常:
但是老师展示了如何做出改变。他删除了“auth/”,新代码如下:
之后,他展示了如何使用“名称”并进行了其他更改:
他去形成,并改变行动
最后他点击了按钮(表单用于登录,只有电子邮件和密码)。
响应显示错误:电子邮件和密码为空。没关系。
但我有一个重要错误:
有人可以帮忙吗?比你!!
php - 由于使用 POINT 数据,Laravel 5 UnexpectedValueException 响应查询
我想在我的项目中为纬度和经度添加一个 POINT 字段,我发现我模仿了这个教程以确保它正常工作,但我不知道为什么现在会发生这个错误:
如果我退出 POINT 字段更改不会发生,我会得到 JSON 数据,允许我使用地址的谷歌地图地理编码而不是纬度和经度数据。
端点操作如下所示,仅在没有 POINT 数据的情况下有效:
访问器和修改器与教程中的基本相同,但我将位置字段名称更改为 latitude_longitude:
租赁地点的迁移
出租地点的种子
出租地点工厂
我在 RentalLocation 模型中使 latitude_longitude 可填充。
我尝试按照Laracasts 论坛上的建议将所有参数添加到响应中,以防它是 UTF-8 问题,但这并没有改变任何东西:
php - 如何在 Laravel 5.1 中为作业创建子目录?
我正在使用 Laravel 5.1。一般是为了创造我做的工作php artisan make:job SomeJobName
。这基本上会在目录中创建一个SomeJobName
作业。app/Jobs
但是,如果我的应用程序很大怎么办。我最终会在那个文件夹中有很多文件。我想稍微整理一下。我想制作子目录,例如:
完成此任务的推荐方法是什么?
php - 在 Laravel 5.1 中,使用 Eloquent ORM,如何为每个关系更新单个属性?
我一直在到处搜索文档,但我无法弄清楚这一点。假设我已经建立了一个具有 hasMany 关系的模型,反之如下:
而且我已确保某些子帐户的值与 master_account_id 列中主帐户的主 ID 匹配。
我已经通过我的控制器中的 dd()ing 值测试了这种关系,如下所示:
这确实成功地返回了所有相关模型的集合。但是,我不知道如何为属于 MasterAccount 的每个模型更新单个属性——不应该有这样的级联方法吗?我通过这样做破解了它:
这行得通,但我只知道有一些“雄辩”的方式来做到这一点......对吧?
mysql - Laravel 5创建属于其他3个表的新记录
我有 4 个表用户、区域、租赁和位置
- 每个用户都有很多租借
- 每个地区都有很多出租
- 每个位置都有很多出租
- 基本上一个 Rental 属于所有 3 张桌子
Region - id, name Location - id, street_address, city, Province, postal_code Rental - id, region_id, location_id, user_id
我已经在这些表之间设置了 hasMany 和 belongsTo 关系,并在 Tinker 中对其进行了测试,但现在我想创建和更新租借。
- region_id 通过请求向上传递 - $regionId
- user_id 是 Auth::id() - $userId
- location_id 是通过仅获取请求的一部分并检查位置表来找到的,如果存在,我会获取 location_id - $locationId
- 剩余的帖子数据再次使用 only() 获取该数据 - $rentalData
到目前为止,所有这些都有效,但是您如何使用我提取的 id 和数据创建和更新租金,这几乎有效:
但是,需要以某种方式将 $locationId 和 $userId 混合在一起,并且使它们可填充似乎并不正确。
到目前为止,我一直在玩它:
更新
所以我可以继续使用 ORM 并做到这一点,但我仍然想了解 Eloquent 是如何工作的,超出了我在观看 Laracast 视频时所学的基础知识,所以任何帮助都将不胜感激,现在我觉得这真的很令人困惑:
更新
这个解决方案怎么样?
RentalRequest 检查 region_id 是否存在,并且用户将始终是 Auth::user()。
php - Laravel 5:按用户组限制对控制器的访问
我已经开始学习 Laravel 5.1,到目前为止我很喜欢它!但是有一件事我还没有得到。
在我之前的项目中,我有 2 个特定的控制器(例如:“正常”、“扩展”),在成功登录后,它们会根据user_group
数据库中的用户被调用。
如果“Foo.Bar”输入他的有效凭据并拥有normal
他被重定向到的组NormalControler
。$_SESSION
因为我没有使用任何框架,所以我通过设置一个组并检查它来限制对另一个组的访问。因此,如果另一个组试图访问该控制器,他就会被重定向。
这在 Laravel 5 中如何实现?到目前为止,我有一个控制器,它可以在没有身份验证的情况下调用,并且受以下代码限制routes.php
:
登录如下所示:
-----编辑-----
我已经按照您的建议运行了 artisan 命令并制作了这个中间件:
并将这一行编辑Kernel.php
成$routeMiddleware
:
到目前为止,我认为这是正确的,如果我错了,请纠正我!然后我可以做这样的事情来限制控制器吗?
laravel - 无法使用 CHAR 数据类型更新 Laravel 5.1 中的列属性
这是我迁移中的代码:
当我运行迁移时,我收到以下错误:
[Doctrine\DBAL\DBALException]
Unknown column type "char" requested. Any Doctrine type that you use has to be registered with \Doctrine\DBAL\Types\Type::addType(). You can get a list of all the known types with \Doctrine\DBAL\Types\Type::getTypesMap(). If this error occurs during database introspection then you might have forgot to register all database types for a Doctrine Type. Use AbstractPlatform#registerDoctrineTypeMapping() or have your custom types implement Type#getMappedDatabaseTypes(). If the type name is empty you might have a problem with the cache or forgot some mapping information.
当我检查\Doctrine\DBAL\Types\Type
类时,我发现了以下代码:
这意味着 Doctrine 不支持数据类型 CHAR。有什么方法可以使用 CHAR 数据类型更改 Laravel 5.1 中的列属性?