2016-03-19 5 views
1

データをデータベースに正常に保存しました。ただし、保存後にデータを見つけることはできません。Laravel 5.1のデータベースに保存したばかりのデータを取得できません。

JSONでは、キーオブジェクトの値は空の配列です。データベース

$obj = new Object; 
$obj->object_id = $objectId; 
$obj->object_lt_x = $objX; 
$obj->object_lt_y = $objY; 
$obj->object_width = $objWidth; 
$obj->object_height = $objHeight; 
$obj->image_id = $imageId; 
$obj->type_id = $typeId; 
if ($obj->save()) { 
    $obj_id = $obj->object_id; 
    $object = DB::table('objects')->where('object_id',$objectId)->get(); 
    $success = array('status' => 1,'message' => $type_name.'标记成功!','obj_id' => $obj_id,'object' => $object); 
    return response()->json($success); 
} else { 
    $error = array('status' => 0,'message' => $type_name.'标记失败!'); 
    return response()->json($error); 
} 

protected $table = 'objects'; 
public $timestamps = false; 
protected $primaryKey = 'object_id'; 
public $incrementing = false; 
protected $fillable = ['object_id','object_lt_x', 'object_lt_y', 'object_width', 'object_height', 'image_id', 'type_id']; 

保存データの結果は次のとおりです:

私のデータベーススキーマ:

CREATE TABLE IF NOT EXISTS `bigdata_db`.`objects` (
    `object_id` CHAR(34) NOT NULL, 
    `object_lt_x` FLOAT NOT NULL, 
    `object_lt_y` FLOAT NOT NULL, 
    `object_width` FLOAT NOT NULL, 
    `object_height` FLOAT NOT NULL, 
    `image_id` CHAR(34) NOT NULL, 
    `type_id` CHAR(34) NOT NULL, 
    PRIMARY KEY (`object_id`), 
    INDEX `fk_objects_images1_idx` (`image_id` ASC), 
    INDEX `fk_objects_types1_idx` (`type_id` ASC), 
    CONSTRAINT `fk_objects_images1` 
    FOREIGN KEY (`image_id`) 
    REFERENCES `bigdata_db`.`images` (`image_id`) 
    ON DELETE CASCADE 
    ON UPDATE CASCADE, 
    CONSTRAINT `fk_objects_types1` 
    FOREIGN KEY (`type_id`) 
    REFERENCES `bigdata_db`.`types` (`type_id`) 
    ON DELETE CASCADE 
    ON UPDATE CASCADE); 

は私のオブジェクトモデル

Object {status: 1, message: "眼睛标记成功!", obj_id: "A7313004-3B7D-56F2-602F-FC81D4A8F04F", object: Array[0]} 
+0

あなたは(英語で私は良いではない)を要求として私は、データベースのスキーマを追加私達にあなたのデータベーススキーマ – stjepano

+0

を示し – LiberoFile

答えて

0

$obj->save()の条件がありますが、実際に$obj->save();という名前のエントリを保存することは決してありません。

$obj = new Object; 
$obj->object_id = $objectId; 
$obj->object_lt_x = $objX; 
$obj->object_lt_y = $objY; 
$obj->object_width = $objWidth; 
$obj->object_height = $objHeight; 
$obj->image_id = $imageId; 
$obj->type_id = $typeId; 
$obj->save(); 

if ($obj->save()) { 
    $obj_id = $obj->object_id; 
    $object = DB::table('objects')->where('object_id',$objectId)->get(); 
    $success = array('status' => 1,'message' => $type_name.'标记成功!','obj_id' => $obj_id,'object' => $object); 
    return response()->json($success); 
} else { 
    $error = array('status' => 0,'message' => $type_name.'标记失败!'); 
    return response()->json($error); 

}

+0

いいえ、それは) 'の場合($ obj->(セーブで実行されます) '。 – user2094178

関連する問題