---错误信息
BooksController.php第66行中的FatalErrorException:语法错误, 意外的' {'
- 第66行
$book = DB::table('books')->where('id', $id)->first();
--- CODE
public function request(Request $request, $id) {
$book = DB::table('books')->where('id', $id)->first();
$user_id = {{ Auth::guard('web')->user()->id }}
DB::table('book_requests')->insert(
['book_id' => $book->id, 'user_id' => $user_id ]
);
}
提前致谢
答案 0 :(得分:1)
您无法在控制器中使用{{ }}
构造,只能在视图中使用。
试试这个:
public function request(Request $request, $id) {
$book = DB::table('books')->where('id', $id)->first();
$user_id = Auth::guard('web')->user()->id;
DB::table('book_requests')->insert(
['book_id' => $book->id, 'user_id' => $user_id ]
);
}
答案 1 :(得分:1)
您无法在控制器中使用{{ }}
刀片式语法。
您只能在。blade.php
文件中使用。
{{ 'string' }}
表示 <?php echo 'string' ?>
在控制器中,只需写
$user_id = Auth::guard('web')->user()->id;
并在视图(刀片模板)文件中,通过
打印{{ $user_id }} // equal to <?php echo $user_id; ?>
请参阅以下链接以便更好地理解。
答案 2 :(得分:0)
为什么要在控制器中使用刀片语法?从控制器中删除刀片语法
public function request(Request $request, $id) {
$book = DB::table('books')->where('id', $id)->first();
$user_id = Auth::guard('web')->user()->id;
DB::table('book_requests')->insert(
['book_id' => $book->id, 'user_id' => $user_id ]
);
}