Laravel 使用另一个 table 和输入查询从 table 获取数据
Laravel querying to get data from a table using another table and an input
所以对于上下文有 3 tables。
借款人table
protected $table = 'borrowers';
protected $primaryKey = 'id';
protected $fillable = ['borrower_name', 'IC', 'phone_no', 'address'];
书籍table
protected $primaryKey = 'id';
protected $fillable = ['ISBN', 'year', 'book_title', 'author', 'publisher_name', 'category'];
最后 借用 table with id, borrower_id, book_id, issue_date, return_date and late_return_status 这是一个布尔值。 borrower_id 和 book_id 是外键。
用户还执行搜索以选择要显示哪个借阅者的借书。我得到了借款人的 ID 并将其存储在变量 $id.
中
所以我需要查询以从图书 table 中获取借款人借阅的图书的所有信息 + issue_date、return_date 和 late_return_status。
以下是我目前尝试过的内容。
$books_borrowed = Borrow::join('books', 'borrow.book_id', '=', 'books.id')
->where('borrow.borrower_id', '=', $id)
->get(['books.ISBN', 'books.book_title','books.year' ,'books.author', 'books.publisher_name',
'borrow.issue_date', 'borrow.due_date', 'borrow.late_return_status']);
我认为缺少另一个 join
来获取 borrowers
和 books
表链接到外键?
$books_borrowed = Borrow::join('books', 'borrow.book_id', '=', 'books.id')
->join('borrowers', 'borrow.borrower_id', '=', 'borrowers.id')
->where('borrow.borrower_id', '=', $id)
->get(['books.ISBN', 'books.book_title', 'books.year','books.author', 'books.publisher_name',
'borrow.issue_date', 'borrow.due_date', 'borrow.late_return_status']);
这样,您就连接了所有 3 个表:
-------------- ----------
borrowers.id books.id
-------------- ----------
| |
| -------------------- |
|---> borrow.borrower_id |
borrow.book_id <------| (you have this join)
--------------------
所以对于上下文有 3 tables。
借款人table
protected $table = 'borrowers';
protected $primaryKey = 'id';
protected $fillable = ['borrower_name', 'IC', 'phone_no', 'address'];
书籍table
protected $primaryKey = 'id';
protected $fillable = ['ISBN', 'year', 'book_title', 'author', 'publisher_name', 'category'];
最后 借用 table with id, borrower_id, book_id, issue_date, return_date and late_return_status 这是一个布尔值。 borrower_id 和 book_id 是外键。
用户还执行搜索以选择要显示哪个借阅者的借书。我得到了借款人的 ID 并将其存储在变量 $id.
中所以我需要查询以从图书 table 中获取借款人借阅的图书的所有信息 + issue_date、return_date 和 late_return_status。
以下是我目前尝试过的内容。
$books_borrowed = Borrow::join('books', 'borrow.book_id', '=', 'books.id')
->where('borrow.borrower_id', '=', $id)
->get(['books.ISBN', 'books.book_title','books.year' ,'books.author', 'books.publisher_name',
'borrow.issue_date', 'borrow.due_date', 'borrow.late_return_status']);
我认为缺少另一个 join
来获取 borrowers
和 books
表链接到外键?
$books_borrowed = Borrow::join('books', 'borrow.book_id', '=', 'books.id')
->join('borrowers', 'borrow.borrower_id', '=', 'borrowers.id')
->where('borrow.borrower_id', '=', $id)
->get(['books.ISBN', 'books.book_title', 'books.year','books.author', 'books.publisher_name',
'borrow.issue_date', 'borrow.due_date', 'borrow.late_return_status']);
这样,您就连接了所有 3 个表:
-------------- ----------
borrowers.id books.id
-------------- ----------
| |
| -------------------- |
|---> borrow.borrower_id |
borrow.book_id <------| (you have this join)
--------------------