我正在尝试根据我使用first
方法加入的用户选择来检索值。但是当我试图将值放在我的形式中时。它说
我SQLSTATE[42S22]:找不到列:1054 "on 子句"中的未知列"sent_document_user.document.id"(SQL:选择
documents
.title
,categories
。category_type
,documents
。content
,documents
。id
从sent_document_user
内部连接documents
documents
。id
=sent_document_user
.document
.id
内部连接categories
categories
.id
=documents
.category_id
documents
的地方.id
= 241 限制 1(''
正确加入了它,我不知道为什么我无法检索我选择的值。这是我在SQL中的代码,运行良好。
SELECT D.title, C.category_type, D.content, D.id FROM sent_document_user SD
INNER JOIN documents D ON SD.document_id = D.id
INNER JOIN categories C ON D.category_id = C.id;
控制器
public function readSentDocuments($id)
{
$documentLists = DB::table('sent_document_user')->select('documents.title', 'categories.category_type', 'documents.content', 'documents.id')
->join('documents', 'documents.id', '=', 'sent_document_user.document.id')
->join('categories', 'categories.id', '=', 'documents.category_id')
->where('documents.id', '=', $id)->first();
return view ('document.readSent')->with('documentLists', $documentLists);
}
视图
<div class = "form-group">
<label for = "title" class = "control-label">Title:</label>
<input type = "text" name = "title" class = "form-control" value = "{{ $documentLists->title }}">
</div>
<div class = "form-group">
<label for = "category" class = "control-label">Category:</label>
<input type = "text" name = "category" class = "form-control" value = "{{ $documentLists->category_type }}">
</div>
<div class = "form-group">
<textarea id = "content">{{ $documentLists->content }}</textarea>
</div>
拼写错误:
->join('documents', 'documents.id', '=', 'sent_document_user.document.id')
here--^
由于这是一个.
,数据库服务器将其解释为dbname.tablename.fieldname
,并且您没有名为sent_document_user
的数据库。
您的列名似乎不正确
->join('documents', 'documents.id', '=', 'sent_document_user.document.id')
尝试sent_document_user.document_id 而不是 sent_document_user.document.id