Laravel 5.4 - MSSQL 错误控制器中的列名无效
Laravel 5.4 - MSSQL Error Invalid column name in Controller
我正在尝试向 Laravel 5.4 中的控制器添加一列,但是当我这样做时出现此错误:
SQLSTATE[42S22]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid column name 'Contract_SO_PO'.
注意:这是我最近创建的数据库中的一个新列
这是代码 - 我在 select 语句的末尾和 groupBy:
添加了 'contract.Contract_SO_PO'
public function index()
{$records = DB::table('Contract')
->leftJoin('Contract_Line', 'Contract.Contract_ID','=','Contract_Line.Contract_ID')
->leftJoin('Contract_Product_Support_Bridge', 'Contract_Product_Support_Bridge.Contract_Line_ID','=','Contract_Line.Contract_Line_ID')
->leftJoin('Customer', 'Contract.Customer_ID','=','Customer.Customer_ID')
->select('contract.Contract_ID','customer.Customer_Name','contract.Contract_Contract_Number','contract.Contract_Quote_Number', 'contract.Contract_SO_PO', DB::raw('COUNT(*) AS Count_Records'))
->groupBy('contract.Contract_ID','customer.Customer_Name','contract.Contract_Contract_Number','contract.Contract_Quote_Number', 'contract.Contract_SO_PO')
->orderBy('Contract.Contract_ID','desc')
->get();
return view('multi_records.index')->with('records',$records);
}
我用一个我知道以前存在于数据库中的列测试了代码,代码 运行 很好。
有什么建议吗?我想知道这是否是 Laravel 未正确连接到数据库并因此未反映新更改的问题。
我找到问题了。我错误地配置了我的 .env 文件以指向与我正在使用的数据库不同的数据库。这就是未反映数据库更改的原因。
我正在尝试向 Laravel 5.4 中的控制器添加一列,但是当我这样做时出现此错误:
SQLSTATE[42S22]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid column name 'Contract_SO_PO'.
注意:这是我最近创建的数据库中的一个新列
这是代码 - 我在 select 语句的末尾和 groupBy:
添加了 'contract.Contract_SO_PO'public function index()
{$records = DB::table('Contract')
->leftJoin('Contract_Line', 'Contract.Contract_ID','=','Contract_Line.Contract_ID')
->leftJoin('Contract_Product_Support_Bridge', 'Contract_Product_Support_Bridge.Contract_Line_ID','=','Contract_Line.Contract_Line_ID')
->leftJoin('Customer', 'Contract.Customer_ID','=','Customer.Customer_ID')
->select('contract.Contract_ID','customer.Customer_Name','contract.Contract_Contract_Number','contract.Contract_Quote_Number', 'contract.Contract_SO_PO', DB::raw('COUNT(*) AS Count_Records'))
->groupBy('contract.Contract_ID','customer.Customer_Name','contract.Contract_Contract_Number','contract.Contract_Quote_Number', 'contract.Contract_SO_PO')
->orderBy('Contract.Contract_ID','desc')
->get();
return view('multi_records.index')->with('records',$records);
}
我用一个我知道以前存在于数据库中的列测试了代码,代码 运行 很好。
有什么建议吗?我想知道这是否是 Laravel 未正确连接到数据库并因此未反映新更改的问题。
我找到问题了。我错误地配置了我的 .env 文件以指向与我正在使用的数据库不同的数据库。这就是未反映数据库更改的原因。