为了账号安全,请及时绑定邮箱和手机立即绑定

未定义变量:php/laravel

未定义变量:php/laravel

PHP
HUX布斯 2021-12-03 14:32:48
我收到此错误消息未定义变量:seller_type(查看:/var/www/resources/views/dash/dash.blade.php)我无法弄清楚它的修复方法,我不确定我是否忽略了一些明显的东西。任何帮助,将不胜感激。这是我的 dash.blade:  @if(Auth::user()->id)     <div class="row">          <div class="col-md-12">              <span>Seller Type: </span>              <select class="seller_type_select" data-type="dash">                 <option value="call_center" {{$seller_type == 'call_center' ? 'selected' : ''}}>Call Center</option>                  <option value="dealership" {{$seller_type == 'dealership' ? 'selected' : ''}}>Dealership</option>                </select>            </div>        </div>    @endif这是我的控制器:class DashboardController extends Controller{    /**     * Display a listing of the resource.     *     * @return Response     */    public function __construct()    {        setlocale(LC_MONETARY, 'en_US.utf8');        $this->middleware('acl:view_dash', ['only' => ['index']]);    }    public function index()    {        $input = Input::all();        $user_id = Auth::user()->id;        $role_id = User::UserRoleData()->where('user_id', '=', $user_id)->first();        $call_center = Auth::user()->call_center;        $call_center = ($call_center == null ? '' : $call_center);        $call_center = !empty($input['call_center']) ? $input['call_center'] : $call_center;        $month = !empty($input['month']) ? $input['month'] : 'twentyfour';        $seller_type = Auth::user()->seller_type;        $seller_type = ($seller_type == null ? '' : $seller_type);        $seller_type = !empty($input['seller_type']) ? $input['seller_type'] : 'call_center';        $companies = Company::DistinctCompanies()->orderby('name')->get();        $date = date('Y-m-d', strtotime('now -24 months'));        if($seller_type == '2')            {            return $contracts->where('type_id', '=', 'call_center');            }            elseif($seller_type == '3')            {            return $contracts->where('type_id', '=', 'dealership');            }
查看完整描述

2 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

简短的回答是您尚未定义该变量,而是尝试在 Blade 模板中使用它。

但要注意两点:

  1. 您的 Blade 模板包含以下@if语句:

    @if(Auth::user()->id)
  1. 控制器中的这一行:

$seller_type = Auth::user()->seller_type;

鉴于该seller_type属性存在于您的登录用户上(假设您的控制器有效,我不知道),您应该能够直接从您的 Blade 模板中引用它。


查看完整回答
反对 回复 2021-12-03
?
GCT1015

TA贡献1827条经验 获得超4个赞

首先,你需要重构这个控制器。它复杂了,因此很难看出它的实际作用。此外,控制器中不仅有 DB 查询,它们也是原始查询,你最好不要在 Laravel 中使用它们,当然也不要用于这种微不足道的情况。

考虑到您实际上并没有在控制器中返回视图,您的视图确实出现了我是一个奇迹- 这是您绝对应该做的事情。相反,它似乎是你的观点被称为在你的中间件-这是你绝对应该不会做。

所以我的建议是:阅读 Laravel 文档并根据那里提供的示例重构您的构造函数。此代码很糟糕并且容易出错。


查看完整回答
反对 回复 2021-12-03
  • 2 回答
  • 0 关注
  • 193 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信