通常在实际开发中,我们会使用到数据调用功能,通过一小块功能函数代码,返回我们需要的数据,如下图区域:
通用情况下,我们需要在不同的位置重复的使用这些调用的数据。下面我分享一下我个人使用的数据调用解决方案。
我们需要借助自定义的辅助函数来实现数据调用功能,在app/helpers.php 写入下面的代码:
if (!function_exists('get_blocks')) {
/**
* param {*} $type 调用数据类型
* param {*} $order 按字段排序
* param {*} $limit 限制查询数量
*/
function get_blocks($type, $order = 'id', $limit = 8)
{
static $datas = [];
$key = 'block_' . $type . '_' . $order . '_' . $limit; //缓存|数组 key
if (empty($datas[$key])) {
switch ($type) {
case 'articles': //文章调用
$datas[$key] = cache()->remember($key, 86400, function () use ($limit, $order) {
return Article::where('status', 0)//限制文章状态
->orderByDesc($order)//排序方式
->take($limit) //限制查询数量
->get()
->toArray();
});
break;
default:
break;
}
}
return $datas[$key] ?? [];
}
}
我们将查询到的数据存到缓存里,这样就不会出现多次数据库查询操作了。
在模板里可以通过下面的方式循环显示数据即可:
@foreach (get_blocks('article') as $article)
<li><a href="$article['url']">$article['subject']</a></li>
@endforeach
除非注明,网络人的文章均为原创,转载请以链接形式标明本文地址:https://www.55mx.com/post/221
《【Laravel实战】模板数据调用方法的简单实现》的网友评论(0)