したがって、コンテキストには3つのテーブルがあります。
借り手テーブル
protected $table = 'borrowers';
protected $primaryKey = 'id';
protected $fillable = ['borrower_name', 'IC', 'phone_no', 'address'];
本のテーブル
protected $primaryKey = 'id';
protected $fillable = ['ISBN', 'year', 'book_title', 'author', 'publisher_name', 'category'];
最後に、id、borrower_id、book_id、issue_date、return_date、およびboolであるlate_return_statusを持つテーブルを借用します。Borrower_idとbook_idは外部キーです。
また、ユーザーは検索を実行して、表示する借り手の借りた本を選択します。借り手のIDを取得し、それを変数$idに格納しました。
したがって、借り手が借りた本の本テーブルからすべての情報を取得するためにクエリを実行する必要があります+ issue_date、return_date、late_return_status。
以下は、iveがこれまでに試したことです。
$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)
--------------------
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加