Maf*_* SP 5 php json laravel voyager
[已解决] 我的 Laravel 5.7 项目中有一个简单的列表,并使用 voyager 来管理其数据。我想制作一个完全有效的created_by和last_edit_by BREAD 表,但仍然不知道获取当前登录的用户。
我目前使用带有复制粘贴原始代码的自定义视图(资源/视图/供应商/航海者),但仍然使用原始 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
{
//
}
Run Code Online (Sandbox Code Playgroud)
并且能够在我的自定义视图上执行此操作
//get currently logged user
@php
$currentUser = Auth::user()->nama;
@endphp
//printed output(for testing)
{{$currentUser}}
Run Code Online (Sandbox Code Playgroud)
它有效!,所以我尝试像这样设置 BREAD 选项
{
"default" : "{{$currentUser}}"
}
Run Code Online (Sandbox Code Playgroud)
但是,与我的自定义视图不同,它不返回 $currentUser 值,只是在我的表中返回简单的 {{$currentUser}}。
请帮我制作一个功能齐全的created_by和last_edit_by表。
注意:我可以使用任何软件包。
编辑:它通过在我的自定义视图(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>
Run Code Online (Sandbox Code Playgroud)
无论如何,如果有人提供更有效的解决方案,我仍然会非常感激:)
您可以向模型添加其他属性,而无需更改视图文件中的任何内容。
save()只需在相应的 Model 类中添加方法并分配其他属性即可。
模型
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();
}
Run Code Online (Sandbox Code Playgroud)
每当保存新模型记录时,这都会添加created_by和。updated_by您可以添加额外的逻辑save()您可以根据需要向该方法
在 Laravel 8 中测试[也应该在 5.7 中工作]
| 归档时间: |
|
| 查看次数: |
956 次 |
| 最近记录: |