求助 解读 laravel class 类实现方式,

2020-03-16 16:47:54 +08:00
 gyinbj

latavel 自带实现方式

controllers 源码

$Row = GoodsList::select()->orderByRaw()...

$perpPage = $this->page;

$Row = $Row->paginate($perpPage);

$Row 返回为对象格式。

'perpPages' => $Row,

view 源码

共 {{ $perpPages->total() }} 个项目

$perpPages->url(1) 可进行动态加载

ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

怎样写 class,可以在 view 层进行 动态加载 class 数据???

目前自己写的 facades

$this->Mssql = app('mssql',['sa']);

$Row = $this->Mssql->appends(app('request')->all());

$Row = $this->Mssql->paginate(5);

但是自己源码返回为 array 数组。

并且没法再 VIEW 层进行动态加载源码。

例如:$perpPages->url(1)

希望$Row 返回 class, 并且可在 View 层可动态加载。

2616 次点击
所在节点    PHP
8 条回复
harde
2020-03-16 16:52:02 +08:00
讲真,没看懂说的是啥
b821025551b
2020-03-16 16:55:22 +08:00
每个字都认识,但是拼在一起完全不知道说的是什么。
xnode
2020-03-16 17:09:04 +08:00
哦 我有点明白了,只是不知道你说的和我理解的一不一样,
你可以自己封装一个 model 返回的就是 对象
SuperAllen
2020-03-16 17:09:54 +08:00
虽然看起来很困难,只好猜你是不是要把对象或者变量带到 blade 模版中展示

变量传递
$list = ["test"=>666];
return view("admin.order.recharge", compact("list");

使用
{{ $list["test"] }}
输出 666
gyinbj
2020-03-16 17:58:33 +08:00
@xnode 你好像我的知心爱人, 一个眼神就懂。 剩下的就是告诉我一下 model 怎么写。。。
pota
2020-03-16 18:00:29 +08:00
Model 返回的集合可以直接遍历的啊
xnode
2020-03-17 08:56:21 +08:00
@gyinbj 有两种方法 一种是用 model 的方式 继承 model 但是指定 数据库配置,第二种是写一个 Service 实例化 指定 DB 连接
shellus
2020-03-17 15:02:18 +08:00
非常简单,你解析出模板变量后,也就是 {{$user->posts()->count()}} 这一段
$str = "$user->posts()->count()";
不用去解析它的每一段了,直接 $value = exec($str)
然后将 $value 替换到编译后的模板上就行。

事实上,laravel 也是类似的做法,不过它是将 blade 模板编译成 php 模板,也就是这样
xxx.php:
<?=$user->posts()->count();?>

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

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

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

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

© 2021 V2EX