2017-06-20 9 views
0

私は私Laravelアプリケーションからのエラーを得たLaravel Postgre無効なテキスト表現

Invalid text representation: 7 ERROR: invalid input syntax for type boolean: "2" (SQL: select * from "tasks" where extract(day from "due_date") = 20 and "status" != 2)

次のようにLaravelコントローラ上の私のクエリは次のとおりです。

$datav['dueTasks'] = Task::whereDay('due_date', date('d'))->where('status','!=','2')->get();

が、これはMySQLのDBからの移行であるので、この問題は、ステータスが2の構文と異なる場合があります。

誰でもこれを修正する方法を知っていますか? ありがとう!

答えて

0

移行テーブルが表示されます。

私の "タスク" "ステータス"はブール型のデータ型で、mysqlではTINYINTに変わります。

私はpostIREでデータ型をsmallIntに変更して実行します。

public function up() 
{ 
    Schema::create('tasks', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->string('name'); 
     $table->date('start_date'); 
     $table->date('due_date'); 
     $table->**smallInteger**('status')->default(1); 
     $table->smallInteger('priority')->default(8); 
     $table->text('description'); 
     $table->timestamps(); 
    }); 
} 
関連する問題