2016-03-22 2 views
0

Iam USIN MySQL 5.7, laravel5.2 и PHP 5.6.17 в моем приложении ..при получении данных JSon из колонного типа JSON В MySQL 5.7, используя Laravel 5.2 получает ошибку

Я создал таблицу миграции

public function up() 
    { 
     Schema::create('admin_login_history', function (Blueprint $table) { 
      $table->increments('id'); 
      $table->string('url'); 
      $table->json('client_details'); 
      $table->integer('user_id')->nullable(); 
      $table->timestamps(); 
     }); 
    } 

Я создал модель для него ..

class AdminLoginHistory extends Model 
{ 

    protected $table = 'admin_login_history'; 

    protected $fillable = ['file_path', 'url', 'user_id', 'client_details']; 

    protected $casts = ['client_details' => 'json']; 
} 

Iam вставив массив данных client_details, который преобразуется в формат JSON в моей модели.

Теперь при извлечении данных из таблицы IAM получать ошибку

$loginhistory = AdminLoginHistory::where('user_id', $id)->orderBy('created_at', 'desc')->take(3)->get(); 

Ошибка:

File Path: /home/storage/elivio/InvizoAdmin/vendor/laravel/framework/src/Illuminate/Database/Connection.php 
Error Code:HY000, Line Number:669 
Message:SQLSTATE[HY000]: General error: 2036 (SQL: select * from `admin_login_history` where `user_id` = 1 order by `created_at` desc limit 3) 

ответ

0

Это может быть похоже на this post. Данные JSON по-прежнему относительно новы в MySQL, поэтому я предполагаю, что это займет немного времени, прежде чем все станет твердым.

0

«Что касается MySQL 5.7.8, MySQL поддерживает родной тип данных JSON ...» Поэтому проверьте, есть ли у вас правильный versión mysql (5.7.8 или новее).

Mysql 5.7.8 JSON data type, doc

Смежные вопросы