You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel/Blade中外部HTTPS链接跳转失效问题排查

问题解决步骤

核心问题分析

  1. 变量解析失效:视图代码里url('//$post->url')将$post->url放在单引号内,Blade模板不会解析单引号包裹的变量,直接把字符串$post->url传入url()函数,导致生成错误的转义地址。
  2. 集合未遍历:控制器通过get()返回的是Eloquent集合(多个Post实例),而非单个模型,视图里直接调用$post->url无法正确获取数据,必须遍历集合中的每个元素。

修正后的代码

控制器(可选优化变量名,语义更清晰)

public function index()
{
    $posts = Post::with('categories', 'images')->limit(3)->orderBy('id', 'desc')->get();

    return view('blog.homepage', compact('posts'));
}

Blade视图

@foreach($posts as $post)
    <a href="{{ $post->url }}" target="_blank">{{ $post->title }}</a>
@endforeach

补充说明

数据库中存储的已经是完整的HTTPS外部链接,不需要使用url()函数(该函数主要用于生成当前站点的内部路由链接),直接输出$post->url就能实现正确跳转。如果强行用url()函数,反而会拼接当前站点域名,导致链接失效。

内容的提问来源于stack exchange,提问作者Itamar Campos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 14:10:19