小编Die*_*ter的帖子

Laravel 4:使值/列的组合独特

我正在使用Laravel 4在我的数据库中导入一堆csv条目.

我不能指出一个必须是唯一的列,它是5列的组合,使其独特.但是:如何在Laravel中定义这个?

选项1:模式构建器
您可以使用$ table-> unique('email')方法,但这似乎只允许一列,而不是列的组合.

选项2:验证
不太可取,但我可以在插入之前验证模型.但是,再次使用"unique:[table]"验证规则,当其中一个列值不唯一时,它将返回错误,而不是它们的组合.

谁能告诉我应该怎么做呢?
我确定我错过了一些东西,但我可以用正确的方向推动:-)

谢谢,

迪特

laravel laravel-4

33
推荐指数
3
解决办法
2万
查看次数

如何与几个项目共享Symfony2模型

我们正在创建一个监控某些资产的SaaS.这意味着它接收数据,保存数据并将其显示在Web界面中.

为此,我们使用/创建的一些组件正在转移到Symfony2:

  • 一个前端Web应用程序,用户可以在其中查看其数据
  • 后端管理Web应用程序,我们在其中创建新的监视器,用户等.
  • 一个API
  • 一个应用程序,它从队列中检索接收的数据并将其放入我们的数据库中(这是一个单独的脚本,但我正在考虑将其重新编写为由cron调用的Symfony命令)

所有这四个应用程序共享相同的模型:我们的主数据库包含所有用户,监视器和数据.

我的问题是:我应该如何在Symfony2中构建这些项目

  1. 我是否创建了一个单独的包来保存我的数据库的实体,并让这四个项目包含这些实体并使用它们?
  2. 我可以在我的Symfony app文件夹中创建一个'model'目录,我的/ src目录中的所有bundle都使用它吗?
  3. 其他一些更干净的方法吗?

选项1看起来有点奇怪,因为根据我的理解,捆绑需要路由,视图,控制器等.将它用于实体只会有点奇怪.

选项2似乎没问题,因为对于/ src文件夹中的所有内容,/ app文件夹无论如何都被视为"公共"(因为,例如,参数也驻留在那里).但是,那里没有'model'文件夹,我不确定应该有吗?

据我所知,Symfony 2已经很少有"最佳实践",因为它是全新的.但是在你看来,我想看看是否有更优先的做法和其他做法.

任何反馈都更受欢迎.提前致谢,

迪特

php bundle coding-style model symfony

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

在模板中排序,在Symfony2中:使用Twig按属性对对象集合进行排序

在Symfony2项目中,我有一个控制器,可以从数据库中检索许多事件.这些事件具有start_time,stop_time,type等属性.

在我看来,我想在一个表中显示这些事件,按start_time排序.我用Twig作为模板.

我可以在将其传递给Twig模板之前对我的控制器进行预先排序,但是控制器不应该关心视图是否要对它进行排序.例如,我创建的另一个模板可能希望按类型排序.

现在,有没有办法可以将事件对象的集合按原样提供给Twig模板,并让它在现场为我排序?也许用'| 排序'过滤,但后来用'| property(start_time)'在它前面过滤,如果你知道我的意思:-)

欢迎任何建议,提前谢谢!

迪特

model-view-controller templates view symfony twig

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

Symfony2表单,其中数据对象与需要填写的内容完全不匹配

我们有一个监控服务,我们的监控单元会关注某些机器.

我正在创建一个表单来在Symfony2中注册一台新机器.

所以我们有机器实体:

  • ID
  • 机器名称
  • 监控ID

监控实体:

  • ID
  • 序列号
  • ...

对于新机器,客户需要填写表格:

  • 机器名称
  • 连接监视器的序列号
  • ...

现在,如果我用一个机器实体作为数据支持来制作一个表单,我就没有"字段"来询问序列号.Symfony不允许它,因为后备实体没有名为"序列号"的字段.

我怎么能够:

  • 请求序列号,而后备实体中没有此类字段
  • 如果我得到序列号,我怎样将其与内部id链接起来,以便在数据经过验证和绑定后与实体保持一致

我想我可以:

  • 如@weaverryan在这篇优秀文章中所描述的那样,制作一个没有背后的对象的表单:http://knplabs.com/en/blog-csi/symfony-validators-standalone - 这样我自己坚持,但我需要我的自定义表单和我的机器实体的单独约束,这是一个遗憾.
  • 提供某种链接,以便Symfony知道从哪里获得序列号字段存在的事实,以及它的约束是什么.也许通过定义关系?我希望在我的实体代码中避免关系,因为我在邮件列表上看到了很多问题,但也许我别无选择:-)
  • 还要别的吗?

我希望我能解释这一点.我想很多人都必须解决这个问题.我想我只是在寻找一些非常标准的Symfony功能,只是因为我不确定它叫什么:-)

forms validation symfony

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

具有时间戳的mysql数据库中时间序列的最佳索引策略

我有一个数据库,我正在处理包含脉冲测量的数据库.
架构是这样的:

id - monitorid - starttime - stoptime - pulses
Run Code Online (Sandbox Code Playgroud)

每个监视器每10分钟提供一次信息.
目前,这相当于大约13 000 000行.

开始和停止时间是varchar(10),保存unix时间戳.可能不是我的情况最有效率.

几乎所有针对该表的查询都是'WHERE starttime> $ certaintime AND monitorid = $ monid'.所有这些查询目前都非常缓慢.

我有一个关于monitorid的索引.我还没有把它放在开始时间和停止时间上,因为我认为这会给我带来更好的基数,因为每10分钟的时间段是一个新值.我不确定这个推理.

所以,我的问题是:如何针对大多数面临的类似范围的查询优化此问题.索引启动时间?使用日期而不是时间戳重建表?

欢迎任何建议!

干杯,

迪特

mysql indexing performance time-series

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