关于 PHP 框架 laravel 的一些小问题

2016-07-14 14:02:27 +08:00
 ChenKe

blade 模板的使用方法我清楚

遍历对象是通过 get 获取的

今天需要传递给模板的数据是根据 多表联查组合 最后加一些临时字段拼接起来的

最后各种错误

试着用过把数据转换位 json 和 obj 都失败告终

最后没有办法用原生 php foreach 去遍历数据

成功显示数据

我不知道是不是 laravel 对于 get 这样的自带方法获取的数据才可以用 blade 模板

而对于其他数组是没有办法使用 blade 的

如该有是不是有框架函数来转换数组

我很努力的寻找 没有找到

2592 次点击
所在节点    程序员
17 条回复
silov
2016-07-14 16:14:06 +08:00
没看懂你的问题。。。。

blade 和 get 有啥关系?

get 数据不是应该在 controller 里面处理么。。。 [我是不是理解偏了
ChenKe
2016-07-14 16:38:30 +08:00
@silov {{$event}} 这种数据显示你应该知道吧 一般这个是 $XXX = Event::get()

然后 return 传值
silov
2016-07-14 16:45:45 +08:00
get 方法获取的是好几条记录的 Object 格式,

Event::where('key','value')->get()->toArray()

得到数组,然后循环数组展示字段就行了啊。。。
ChenKe
2016-07-14 16:47:31 +08:00
@silov 我这里有一个活动表 表里有活动类型和每一个类型活动的 id 然后根据这数据找到具体的活动 根据活动处于的状态 需要输出不同的值 而这些值都在不同的表里面 所以不存在调用一个表就可以把数据搞定
ChenKe
2016-07-14 16:48:43 +08:00
最终就是把所有需要的数据组合和一个二维数组 然后用原生 php 在模板遍历数据
silov
2016-07-14 16:53:08 +08:00
跟多少表没关系,反正所有的数据取出来的时候格式都是一样的,都可以处理成数组,然后再怎么组装都行。。。
qhxin
2016-07-14 16:57:59 +08:00
多表一个可以用它的 ORM ,还有一个可以用 join
chuhemiao
2016-07-14 17:02:02 +08:00
应该直接贴代码
jellybool
2016-07-15 02:34:07 +08:00
z5864703
2016-07-15 12:54:13 +08:00
blade 不是自带 foreach 么。
你应该是格式不一致吧,把所有数据统一转换成数组。
最好贴下代码
AbrahamGreyson
2016-07-20 10:29:58 +08:00
没提供任何有价值的信息。
ChenKe
2016-07-20 10:37:12 +08:00
@AbrahamGreyson 已经搞定了

PHP laravel 框架里面 拥 Model 中的 get find 自带的方式去连接数据库,可以使用 blade 的方法在模板显示数据

但是如果你的数据是自己组合的,有表数据和其他传参数据,组成的 array 类型的,

无论转换成 json 还是 obj ,都不可以使用 blade ,

只能用原生写法

没有及时回复

抱歉了 大家
AbrahamGreyson
2016-07-20 10:41:45 +08:00
@ChenKe 这就是不同数据类型的使用问题, 其实理应你自己理顺的。
为了更好的兼容性,建议你在模版中以数组方式输出。 因为即使是对象基本都实现了 ArrayAccess 接口, Eloquent 支持数组语法访问。
ChenKe
2016-07-20 10:44:51 +08:00
@AbrahamGreyson laravel 在国内用的还是太少了,而资料都很坑爹,查手册也没有很好的解决办法,
就是有点强迫症了,想统一写法而已。

这个是后台,对模板没什么技术性要求,目前写的是 APP 的后台, api 不涉及前台模板,直接 json

laravel 在这个方面还是很不错的, return 直接是 json 格式数据
ChenKe
2016-07-21 19:03:10 +08:00
@jellybool 网站好卡啊
eamon666
2016-07-26 10:39:28 +08:00
以前用 laravel 开发时貌似遇到过这个问题 然后怎么解决的我忘记了。。。
用 LARAVEL 还是要多 stackoverflow 更靠谱一些
国内翻译的就呵呵了
ChenKe
2016-07-26 13:18:05 +08:00
@eamon666 其实做出效果很简单 只是想 laravel 是不是有自己的解决办法

到现在也没有找到比较优雅的解决办法

依旧是原生的 PHP 写发

没有利用框架自带的 blade 模板

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/292472

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX