我正在尝试根据我使用first
方法加入的用户选择的值来检索值。但是当我试图将值放在我的表单中时。它说
SQLSTATE [42S22]:未找到列:1054'on子句'中的未知列'sent_document_user.document.id'(SQL:选择
documents
。title
,categories
。{ {1}},category_type
。documents
,content
。documents
来自id
sent_document_user
documents
documents
id
。 1}} =sent_document_user
。document
。id
内部加入categories
位于categories
。id
=documents
。{{1其中category_id
。documents
= 241限制1)``
我正确地加入了它我不知道为什么我无法检索我选择的值。这是我在SQL中的代码运行良好。
id
控制器
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);
}
答案 0 :(得分:3)
错字:
->join('documents', 'documents.id', '=', 'sent_document_user.document.id')
here--^
由于这是.
,因此数据库服务器会将其解释为dbname.tablename.fieldname
,而您没有名为sent_document_user
的数据库。
答案 1 :(得分:0)
您的列名称似乎不正确
->join('documents', 'documents.id', '=', 'sent_document_user.document.id')
尝试 sent_document_user.document_id ,而不是 sent_document_user.document.id