问题标签 [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.

0 投票
1 回答
4263 浏览

laravel - Laravel 5 如何在创建时向用户添加多个外键约束?

我现在知道我可以通过执行以下操作使用区域和用户之间的 haveMany 关系创建用户:

但是如果有多个外键,你如何创建一个用户而不使它们可以填充超过 1 个外键约束?如果有 3 个或 4 个呢?

不同模型中的关系设置示例:

如果它有助于更​​好地理解关系,我的迁移的精简版本如下所示:

区域和位置模型示例:

0 投票
2 回答
25363 浏览

php - Laravel Eloquent:计算总价的最佳方法

我用 Laravel 5.1 构建了一个简单的买卖应用程序。每个 Buy 模型都有许多 BuyDetail,其中存储了购买的商品数量和购买价格。我已经在模型上实现了表之间的关系。

我想计算每次购买的总价格。使用 Eloquent ORM 计算总价的最佳方法是什么?

现在我只是这样实现它:

0 投票
2 回答
1884 浏览

php - 在 laravel5.1 中使用 FileSystem 上传文件?

我想上传文件laravel,我只使用本地服务器而不是任何云存储。从文档中,我找到了两种与文件上传相关的方法,

  • 普通方法(Request::file('file')->move(dest,filename))
  • 使用文件系统

但我无法理解这些方法之间的实际区别?

如果我使用普通方法,

这里应该是路径,storage/app还是public/uploads(新)?

如何使用 上传文件File System

0 投票
2 回答
700 浏览

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/”,新代码如下:

之后,他展示了如何使用“名称”并进行了其他更改:

他去形成,并改变行动

最后他点击了按钮(表单用于登录,只有电子邮件和密码)。

响应显示错误:电子邮件和密码为空。没关系。

但我有一个重要错误:

错误截图

有人可以帮忙吗?比你!!

0 投票
1 回答
3106 浏览

php - 由于使用 POINT 数据,Laravel 5 UnexpectedValueException 响应查询

我想在我的项目中为纬度和经度添加一个 POINT 字段,我发现我模仿了这个教程以确保它正常工作,但我不知道为什么现在会发生这个错误:

如果我退出 POINT 字段更改不会发生,我会得到 JSON 数据,允许我使用地址的谷歌地图地理编码而不是纬度和经度数据。

端点操作如下所示,仅在没有 POINT 数据的情况下有效:

访问器和修改器与教程中的基本相同,但我将位置字段名称更改为 latitude_longitude:

租赁地点的迁移

出租地点的种子

出租地点工厂

我在 RentalLocation 模型中使 latitude_longitude 可填充。

我尝试按照Laracasts 论坛上的建议将所有参数添加到响应中,以防它是 UTF-8 问题,但这并没有改变任何东西:

0 投票
3 回答
1495 浏览

php - 如何在 Laravel 5.1 中为作业创建子目录?

我正在使用 Laravel 5.1。一般是为了创造我做的工​​作php artisan make:job SomeJobName。这基本上会在目录中创建一个SomeJobName作业。app/Jobs但是,如果我的应用程序很大怎么办。我最终会在那个文件夹中有很多文件。我想稍微整理一下。我想制作子目录,例如:

完成此任务的推荐方法是什么?

0 投票
1 回答
2334 浏览

php - 在 Laravel 5.1 中,使用 Eloquent ORM,如何为每个关系更新单个属性?

我一直在到处搜索文档,但我无法弄清楚这一点。假设我已经建立了一个具有 hasMany 关系的模型,反之如下:

而且我已确保某些子帐户的值与 master_account_id 列中主帐户的主 ID 匹配。

我已经通过我的控制器中的 dd()ing 值测试了这种关系,如下所示:

这确实成功地返回了所有相关模型的集合。但是,我不知道如何为属于 MasterAccount 的每个模型更新单个属性——不应该有这样的级联方法吗?我通过这样做破解了它:

这行得通,但我只知道有一些“雄辩”的方式来做到这一点......对吧?

0 投票
1 回答
473 浏览

mysql - Laravel 5创建属于其他3个表的新记录

我有 4 个表用户、区域、租赁和位置

  1. 每个用户都有很多租借
  2. 每个地区都有很多出租
  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()。

0 投票
3 回答
8461 浏览

php - Laravel 5:按用户组限制对控制器的访问

我已经开始学习 Laravel 5.1,到目前为止我很喜欢它!但是有一件事我还没有得到。
在我之前的项目中,我有 2 个特定的控制器(例如:“正常”、“扩展”),在成功登录后,它们会根据user_group数据库中的用户被调用。

如果“Foo.Bar”输入他的有效凭据并拥有normal他被重定向到的组NormalControler$_SESSION因为我没有使用任何框架,所以我通过设置一个组并检查它来限制对另一个组的访问。因此,如果另一个组试图访问该控制器,他就会被重定向。

这在 Laravel 5 中如何实现?到目前为止,我有一个控制器,它可以在没有身份验证的情况下调用,并且受以下代码限制routes.php

登录如下所示:

-----编辑-----

我已经按照您的建议运行了 artisan 命令并制作了这个中间件:

并将这一行编辑Kernel.php$routeMiddleware

到目前为止,我认为这是正确的,如果我错了,请纠正我!然后我可以做这样的事情来限制控制器吗?

0 投票
2 回答
2133 浏览

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 中的列属性?