我收到此錯誤消息未定義變量:seller_type(查看:/var/www/resources/views/dash/dash.blade.php)我無法弄清楚它的修復(fù)方法,我不確定我是否忽略了一些明顯的東西。任何幫助,將不勝感激。這是我的 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貢獻(xiàn)1804條經(jīng)驗 獲得超7個贊
簡短的回答是您尚未定義該變量,而是嘗試在 Blade 模板中使用它。
但要注意兩點(diǎn):
您的 Blade 模板包含以下
@if
語句:
@if(Auth::user()->id)
控制器中的這一行:
$seller_type = Auth::user()->seller_type;
鑒于該seller_type
屬性存在于您的登錄用戶上(假設(shè)您的控制器有效,我不知道),您應(yīng)該能夠直接從您的 Blade 模板中引用它。

GCT1015
TA貢獻(xiàn)1827條經(jīng)驗 獲得超4個贊
首先,你需要重構(gòu)這個控制器。它太復(fù)雜了,因此很難看出它的實際作用。此外,控制器中不僅有 DB 查詢,它們也是原始查詢,你最好不要在 Laravel 中使用它們,當(dāng)然也不要用于這種微不足道的情況。
考慮到您實際上并沒有在控制器中返回視圖,您的視圖確實出現(xiàn)了,我是一個奇跡- 這是您絕對應(yīng)該做的事情。相反,它似乎是你的觀點(diǎn)被稱為在你的中間件-這是你絕對應(yīng)該不會做。
所以我的建議是:閱讀 Laravel 文檔并根據(jù)那里提供的示例重構(gòu)您的構(gòu)造函數(shù)。此代碼很糟糕并且容易出錯。
- 2 回答
- 0 關(guān)注
- 236 瀏覽
添加回答
舉報
0/150
提交
取消