【问题标题】:How to make dynamic link from array value in laravel?如何从laravel中的数组值进行动态链接?
【发布时间】:2019-11-27 01:35:40
【问题描述】:

我想从数组值创建链接的目的是链接将显示详细信息的模式。

所以我有这个数组:

array:1 [▼
  42 => "00285",
  43 =? "00123"
]

我找到了这样的方法:

foreach ($certificate->pluck('number', 'id')->toArray() as $href => $text) {
    if ($href != $text) {
        echo '<a href="?page=' . $href . '">' . $text . '</a>, ';
    } else {
        echo $text;
    }
}

但在某些情况下,我的控制器会中断到下一个网格“回声”必须是“返回”,

我想要的示例网格:

但是上面的代码会这样显示:

在第一张图片中不显示网格内的值

编辑:

图 1 中的我的代码 - [laravel-admin]:

$grid->column('Sertifikat')->display(function () {
    $skips = ["[", "]", "\""];
    $certificate = LandCertificate::where('data_order_id', $this->id);
    $costumerName = Costumer::where('id', $this->costumer_id);

    $certificateNumberArray = $certificate->pluck('number') ?? null;
    $temp1 = str_replace($skips, '', $certificateNumberArray);
    $certificateNumber = str_replace(',', ', ', $temp1);

    if ($certificate->pluck('owner') != $costumerName->pluck('name')) {
        return "<span class='text-danger'>$certificateNumber</span>";
    } else
        return $certificateNumber;
});

实际上,该代码仅在图片编号 1 处显示结果,而没有像图片编号 2 那样的链接

刀片代码:

https://github.com/z-song/laravel-admin/blob/master/resources/views/grid/table.blade.php

【问题讨论】:

  • 你能展示你的刀片文件吗?你是怎么调用这个方法的?
  • 顺便说一下,我在 Github 上使用 laravel-admin 项目
  • 你能展示你的刀片文件吗?你如何显示$grid?请提供完整的详细信息,特别是代码。

标签: php mysql laravel laravel-6 laravel-admin


【解决方案1】:

你必须使用 html_entity_decode

if ($certificate->pluck('owner') != $costumerName->pluck('name')) {
     return html_entity_decode("<span class='text-danger'>$certificateNumber</span>");
} else {
    return $certificateNumber;
}

【讨论】:

  • 不使用html_entity_decode的代码是可以的,我想返回数组值链接的问题
【解决方案2】:

我找到了解决这个问题的方法。

尝试获取数组值,然后通过如下修改将其返回:

我的控制器:

$grid->column('Sertifikat')->display(function () {
    $skips = ["[", "]", "\""];
    $certificate = LandCertificate::where('data_order_id', $this->id);
    $costumerName = Costumer::where('id', $this->costumer_id);

    foreach ($certificate->pluck('number', 'id')->toArray() as $href => $text) {
        if ($href != $text) {
            if ($certificate->pluck('owner') != $costumerName->pluck('name')) {
                $certificateDetail[] = "<a href='#' data-toggle='modal' data-target='#messageModal' data-id='{$href}' data-from='{$href}' data-title='{$href}' data-message='{$href}' data-time='{$href}'><span class='text-danger'>$text";
            } else
                $certificateDetail[] = "<a href='#' data-toggle='modal' data-target='#messageModal' data-id='{$href}' data-from='{$href}' data-title='{$href}' data-message='{$href}' data-time='{$href}'>$text";
        } else {
            $certificateDetail[] = $text;
        }
    }

    $certificateNumberArray = $certificate->pluck('number') ?? null;
    $temp1 = str_replace($skips, '', collect($certificateDetail));
    $certificateNumber = str_replace(',', ', ', $temp1);

    return $certificateNumber;
});

结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 2021-02-11
    • 1970-01-01
    • 2021-12-07
    • 2019-10-19
    • 2017-02-16
    • 1970-01-01
    相关资源
    最近更新 更多