1. 程式人生 > 資料庫 >Laravel 查詢 Mysql 表結構:Undefined property: stdClass::$column_name when generating a model

Laravel 查詢 Mysql 表結構:Undefined property: stdClass::$column_name when generating a model

  • 問題描述

       當使用 getRealColumn 時,報處出該錯誤 Undefined property: stdClass::$column_name when generating a model。

       參考 

  • 解決方法:

       Laravel 的 MySqlProcessor 假定從 MySQL 中獲得的 是小寫的。

       當執行  的 或者 xisting() 方法時,實際執行了下面 SQL 語句

select * from information_schema.tables where table_schema = ? and table_name = ?

       返回結果包含了大寫的 OLUMN_NAME 欄位,造成了 Laravel 無法找到 column_name 而報錯。因此修改該 SQL 句獲取小寫欄位即可:

select column_name as `column_name` from information_schema.tables where table_schema = ? and table_name = ?