Laravel 5 - 检索blob文件返回TRUE或1

问题描述 投票:2回答:1

我正在努力从数据库中检索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');
}
}

mysql string laravel eloquent blob
1个回答
0
投票

您需要删除此行才能使其正常工作:

'taccuino_report_posteriore' => 'boolean'

https://laravel.com/docs/5.5/eloquent-mutators#attribute-casting

© www.soinside.com 2019 - 2024. All rights reserved.