gpt4 book ai didi

php - 如何使用当前登录的用户预填 voyager BREAD 表格?

转载 作者:行者123 更新时间:2023-12-04 11:31:18 27 4
gpt4 key购买 nike

[解决了]
我的 Laravel 5.7 项目中有一个简单的列表,并使用 voyager 来管理它的数据。
我想制作一个完全有效的 created_by 和 last_edit_by BREAD 表,但仍然不知道获取当前登录的用户。

我目前使用带有复制粘贴原始代码的自定义 View (资源/ View /供应商/航海者),但仍然使用原始 VoyagerBreadController.php 和一些额外的导入。

?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Auth\AuthManager;
use Illuminate\Support\Facades\Auth;
use Auth\Illuminate\Foundation\Auth\AuthenticatesUsers;
use App\Wisata;
use App\User;

namespace App\Http\Controllers\Voyager;

use TCG\Voyager\Http\Controllers\VoyagerBreadController as BaseVoyagerBreadController;

class VoyagerBreadController extends BaseVoyagerBreadController
{
//
}


并且能够在我的自定义 View 上执行此操作
//get currently logged user
@php
$currentUser = Auth::user()->nama;
@endphp

//printed output(for testing)
{{$currentUser}}

它有效!,所以我尝试像这样设置 BREAD 选项
{
"default" : "{{$currentUser}}"
}

但是,与我的自定义 View 不同,它不返回 $currentUser 值,只是在我的表中返回简单的 {{$currentUser}}。

请帮我制作一个功能齐全的 created_by 和 last_edit_by 表。

注意:我可以使用任何软件包。

编辑:它通过在我的自定义 View (edit-add.blade.php)中复制真实动态表单正下方的表单来解决,制作隐藏类型 created_by 和 last_edited_by 表并将 BREAD 选项保持为空。您仍然可以毫无问题地调整可见性。
//created_by form
<div class="form-group hidden col-md-12 "><input type="hidden" class="form-control" name="created_by" placeholder="Created By" value="{{$currentUser}}"></div>
//last_edited_by form
<div class="form-group hidden col-md-12 "><input type="hidden" class="form-control" name="last_edited_by" placeholder="Last Edited By" value="{{$currentUser}}"></div>

无论如何,如果有人提供更有效的解决方案,我仍然会非常感激:)

最佳答案

您可以向模型添加其他属性,而无需更改 View 文件中的任何内容。
只需添加 save()方法在相应的模型类中并分配额外的属性。
型号

public function save(array $options = [])
{
if (Auth::user()) {
$this->created_by = Auth::user()->getKey();
//you may use user's name or any other property
$this->updated_by = Auth::user()->name;
}

return parent::save();
}
这将添加 created_byupdated_by每次保存新模型记录时。您可以向 save() 添加额外的逻辑。方法根据您的需要。
在 Laravel 8 中测试 [并且也应该在 5.7 中工作]

关于php - 如何使用当前登录的用户预填 voyager BREAD 表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55781813/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com