$header = DB::select("SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'tableOne'");
$secheader = DB::select("SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'tableTwo'");
$variables = DB::table('tableThird')->get();
$variables = json_decode(json_encode($variables, true));
$tbHeading = json_decode(json_encode($header, true)); //json object
return view('admin/crosstabdata', compact('secheader','tbHeading','variables'));
当我打印所有三个变量以查看(crosstabdata.blade.php
)文件时,它说:
secheader变量不存在。
答案 0 :(得分:0)
尝试一下;
s1
希望这种方法有所帮助。
答案 1 :(得分:0)
尝试这种方式:
return View::make('admin.crosstabdata')
->with(compact('secheader', 'tbHeading', 'variables'));
答案 2 :(得分:0)
您的代码应该可以使用。也许问题出在视图上。
作为替代方案,您可以将变量传递给视图,如下所示:
$secheader = /** ... */;
$variables = /** ... */;
$tbHeading = /** ... */;
return view('admin.crosstabdata')
->with('secheader', $secheader)
->with('variables', $variables)
->with('tbHeading', $tbHeading);
然后在您看来,您可以像$secheader
,$variables
和$tbHeading
那样访问它们。
答案 3 :(得分:0)
您可以将关联数组传递给with()
方法,以便您的return语句如下所示:
return view('admin/crosstabdata')->with(['secheader' => $secheader, 'tbHeading' => $tbHeading, ...]);
答案 4 :(得分:-1)
我没有尝试直接传递三个变量,但这是传递两个变量的一种方法
return view('admin/crosstabdata', compact('secheader'))->with('tbHeading', $tbHeading);
我也看到了这个问题,我认为这可能会帮助您将其作为数组并将其作为一个变量传递,请参见