我正在努力从数据库中检索blob值。每次我在foreach中使用类似{{$record->taccuino_report_posteriore }}
的东西来获取它的值时,它只返回1,或者如果我读取对象的json,则将值设置为true。我真正需要的是将它的实际值作为一个字符串不是真的或1.实际上它发生了同样的事情,从blob变为longtext。
PS。我确定存储的实际值不仅仅是1或者是真的,因为我已经使用MySQL来检查真正的“字符串”值。
UPDATE
移民
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTblTaccuinoTable extends Migration
{
/**
* Schema table name to migrate
* @var string
*/
public $set_schema_table = 'tbl_taccuino';
/**
* Run the migrations.
* @table tbl_taccuino
*
* @return void
*/
public function up()
{
if (Schema::hasTable($this->set_schema_table)) return;
Schema::create($this->set_schema_table, function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id_taccuino');
$table->integer('id_paziente')->unsigned();
$table->string('taccuino_descrizione', 45);
$table->date('taccuino_data');
$table->binary('taccuino_report_anteriore');
$table->binary('taccuino_report_posteriore');
$table->index(["id_paziente"], 'fk_tbl_taccuino_tbl_pazienti1_idx');
$table->foreign('id_paziente', 'fk_tbl_taccuino_tbl_pazienti1_idx')
->references('id_paziente')->on('tbl_pazienti')
->onDelete('no action')
->onUpdate('no action');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists($this->set_schema_table);
}
}
模型
<?php
/**
* Created by Reliese Model.
* Date: Mon, 25 Dec 2017 12:47:05 +0000.
*/
namespace App\Models\Patient;
use Reliese\Database\Eloquent\Model as Eloquent;
/**
* Class Taccuino
*
* @property int $id_taccuino
* @property int $id_paziente
* @property string $taccuino_descrizione
* @property \Carbon\Carbon $taccuino_data
* @property boolean $taccuino_report_anteriore
* @property boolean $taccuino_report_posteriore
*
* @property \App\Models\Pazienti $tbl_pazienti
*
* @package App\Models
*/
class Taccuino extends Eloquent
{
protected $table = 'tbl_taccuino';
protected $primaryKey = 'id_taccuino';
public $incrementing = false;
public $timestamps = false;
protected $casts = [
'id_taccuino' => 'int',
'id_paziente' => 'int',
'taccuino_report_anteriore' => 'boolean',
'taccuino_report_posteriore' => 'boolean'
];
protected $dates = [
'taccuino_data'
];
protected $fillable = [
'id_paziente',
'taccuino_descrizione',
'taccuino_data',
'taccuino_report_anteriore',
'taccuino_report_posteriore'
];
public function tbl_pazienti()
{
return $this->belongsTo(\App\Models\Patient\Pazienti::class, 'id_paziente');
}
}
您需要删除此行才能使其正常工作:
'taccuino_report_posteriore' => 'boolean'
https://laravel.com/docs/5.5/eloquent-mutators#attribute-casting