Laravel 在 modal-view.blade 中将整数值显示为字符串
Posted
技术标签:
【中文标题】Laravel 在 modal-view.blade 中将整数值显示为字符串【英文标题】:Laravel display integer value into string in modal-view.blade 【发布时间】:2022-01-12 06:39:19 【问题描述】:您好,我有一个包含订单数据的模式,但是我想替换一些特定的值,例如 group_id
的值。在我的view-modal.blade.php
中,group_id
的值为int
,我想在我的模态中将其显示为String
,例如:
if($group->group_id == 1)
<input value="(2)ADAM GROUP">
elseif($group->group_id == 2)
<input value="(3)BRIAN GROUP">
这是用于在我的index.blade.php
中捕获订单id
并在我的view-modal.blade
中显示它的 JQuery:
$('body').on('click', '.viewMediaOrder', function()
var id = $(this).data('id');
$.get('media-order/'+id+'/edit', function (data)
$('#modalHeading').html("View Media Order");
$('#viewMediaOrderSubmitButton').val("view-media-order");
$('#viewMediaOrderSubmitButton').prop('disabled',false);
$('#viewMediaOrderModal').modal('show');
$('#viewMediaOrderModal').modal('hide');
$('#id_view').val(data.id);
$('#nomor_view').val(data.nomor);
$('#nomor_reference_view').val(data.nomor_reference);
$('#periode_start_view').val(data.periode_start);
$('#periode_end_view').val(data.periode_end);
$('#category_id_view').val(data.category_id);
$('#type_id_view').val(data.type_id);
$('#agency_code_view').val(data.agency_code);
$('#agency_name_view').val(data.agency_name);
$('#advertiser_name_view').val(data.advertiser_name);
$('#advertiser_code_view').val(data.advertiser_code);
$('#brand_code_view').val(data.brand_code);
$('#brand_name_view').val(data.brand_name);
$('#version_code_view').val(data.version_code);
$('#nett_budget_view').val(data.nett_budget);
$('#gross_value_view').val(data.gross_value);
$('#nett_cashback_view').val(data.nett_cashback);
$('#nett_bundling_view').val(data.nett_bundling);
$('#spot_view').val(data.spot);
$('#accountexecutive_name_view').val(data.accountexecutive_name);
$('#group_id_view').val(data.group_id);
$('#userto_name_view').val(data.userto_name);
$('#notes_view').val(data.notes);
$('#attachment_name_view').val(data.attachment_name);
)
);
这是我的view-modal.blade.php
中的group_id
输入值:
<div class="row mg-t-20">
<label class="col-sm-4 form-control-label">Group Sales:</label>
<div class="col-sm-8 mg-t-10 mg-sm-t-0">
<input name="group_id" id="group_id_view" class="form-control select2" readonly></input>
</div>
</div>
那么有人有其他方式来显示它吗?我尝试使用if
和switch
,但我不知道如何捕捉group_id
值,为我的英语道歉,谢谢!。
编辑:
这是我的controller.php
,index
:
public function index(Request $request)
if ($request->ajax())
if(auth()->user()->is_admin)
$data = MediaOrder::get();
elseif(auth()->user()->group_id)
$data = MediaOrder::memberOf(auth()->user()->group_id)->get();
else
$data = MediaOrder::get();
return DataTables::of($data)
->addIndexColumn()
->addColumn('action',function($row)
$btn = '<a style="margin:5px" href="javascript:void(0)" id="viewMediaOrder" data-toggle="tooltip" data-id="'.$row->id.'" data-original-title="View" class="edit btn btn-primary btn-sm button1 viewMediaOrder" value=" csrf_token() "><i class="fa fa-eye mr-1"></i>View</a>';
if($row->isdisabled == 0 && !auth()->user()->is_traffic)
$btn = $btn.'<a style="margin:5px" href="javascript:void(0)" id="editMediaOrder" data-toggle="tooltip" data-id="'.$row->id.'" data-original-title="Edit" class="edit btn btn-warning btn-sm button1 editMediaOrder" value=" csrf_token() "><i class="fa fa-pencil mr-1"></i>Edit</a>
<a style="margin:5px" href="javascript:void(0)" data-toggle="tooltip" id="disableMediaOrder" data-id="'.$row->id.'" data-original-title="Delete" class="btn btn-danger btn-sm button1 disableMediaOrder" value=" csrf_token() "><i class="fa fa-power-off mr-1"></i>Disable</a>';
return $btn;
)
->editColumn('isdisabled', function($row)
if($row->isdisabled == 0 && auth()->user()->is_traffic)
$combo = '<input data-id="'.$row->id.'" type="checkbox" class="checkedTraffic">';
return $combo;
elseif($row->isdisabled == 0)
$row = "Active";
return $row;
elseif($row->isdisabled == 1)
$row = "Disabled";
return $row;
elseif($row->isdisabled == 2)
$row = "Checked by Traffic";
return $row;
elseif(!auth()->user()->is_traffic)
$row = $row->isdisabled;
return $row;
)
->rawColumns(['action','isdisabled'])
->make(true);
else
\Meta::set('title', 'Media Order');
$groups = Group::all();
$media_order = DB::table('media_order')->get();
$moo = MediaOrder::get();
$selected = auth()->user()->group_id;
$mediaOrder = MediaOrder::all();
$users = User::orderBy('name', 'asc')->get();
return view('media-order.index')->with(compact('users','moo','groups','selected','mediaOrder'));
这里是edit
视图函数:
public function edit($id)
$where = array('id' => $id);
$moe = MediaOrder::where($where)->first();
return Response::json($moe);
【问题讨论】:
【参考方案1】:在你的刀片中试试这个:
@if ($group->group_id == 1)
<input value="(2)ADAM GROUP">
@elseif ($group->group_id == 2)
<input value="(3)BRIAN GROUP">
@endif
【讨论】:
很遗憾它不起作用,group_id
在那里并出现在 console.log()
但它不会出现
您确定输入类型了吗?像这样<input type="text" value="(2)ADAM GROUP">
是的,它仍然没有工作,它跳过@if
值并只显示默认值
您能否在显示view-modal.blade.php
之前编辑您的帖子以显示您的controller
代码?
我已经更新了我的问题以上是关于Laravel 在 modal-view.blade 中将整数值显示为字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上通过 Laravel Installer 安装 Laravel?
在 Mac 上安装 Laravel 会抛出 laravel,即使在设置 PATH 后也找不到
Laravel 在控制器中使用非 Laravel Composer 包