我收到此错误消息未定义变量: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 模板中使用它。
但要注意两点:
您的 Blade 模板包含以下
@if
语句:
@if(Auth::user()->id)
控制器中的这一行:
$seller_type = Auth::user()->seller_type;
鉴于该seller_type
属性存在于您的登录用户上(假设您的控制器有效,我不知道),您应该能够直接从您的 Blade 模板中引用它。
GCT1015
TA贡献1827条经验 获得超4个赞
首先,你需要重构这个控制器。它太复杂了,因此很难看出它的实际作用。此外,控制器中不仅有 DB 查询,它们也是原始查询,你最好不要在 Laravel 中使用它们,当然也不要用于这种微不足道的情况。
考虑到您实际上并没有在控制器中返回视图,您的视图确实出现了,我是一个奇迹- 这是您绝对应该做的事情。相反,它似乎是你的观点被称为在你的中间件-这是你绝对应该不会做。
所以我的建议是:阅读 Laravel 文档并根据那里提供的示例重构您的构造函数。此代码很糟糕并且容易出错。
- 2 回答
- 0 关注
- 193 浏览
添加回答
举报
0/150
提交
取消