2016-10-08 1 views
0

郵便配達員が送信したJSONを挿入しようとしていますが、データベースに格納したいのですがデータベースに挿入しません。データベースを扱う雄弁なモデルを使用しています。ここ データベースにデータを挿入しているときにlaravelに詰まっています

は私のJSON

{"mcode":"123","code":"321","title":"Mr.", "name":"sameer","mobile":"7798616828","email":"[email protected]","address":"amravati","state":"maharashtra", "city":"amravati"} 

これは私のコントローラである

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 

use App\member; 

class inquiryController extends Controller 
{ 
    public function store(Request $request) 
    { 

     $member = new member; 
     // $member->title=$request->title; 

     $member->mcode = $request->mcode; 
     $member->code = $request->code; 
     $member->title = $request->title; 
     $member->name = $request->name; 
     $member->mobile = $request->mobile; 
     $member->email = $request->email; 
     $member->address = $request->address; 
     $member->state = $request->state; 
     $member->city = $request->city; 

     $member->save(); 


     return "ok"; 

    } 
} 

これは私のモデル

namespace App; 


use Illuminate\Database\Eloquent\Model; 

class member extends Model 
{ 
    // 
    protected $fillable=['mcode','code','title','name','mobile','email','address','state', 'city']; 
} 
+0

挿入中にエラーが表示されますか? – Manish

+2

あなたのモデルは名前を受け入れるように設定されています。そういうわけで他に何も挿入されていないのです。 –

+1

'$ fillable'配列は、一括挿入のためだけに介入します。ここで彼は手動で彼のプロパティを設定するので、うまくいくはずです。質問に答えるために何らかのエラーメッセージが必要です。 – Hammerbot

答えて

0

YですOUは、内部のすべてのアクセス可能なフィールドを配置する必要があります。

protected $fillable = [ 'name', 'mcode' ....]; 

するか、このフィールドを宣言していない - それはあなたがのアレント質量がassingedデータを追加できるようになることを原因になります(すなわち、 $member->fill($data))。上記の例では、あなたと同じように大丈夫です。

+0

実際に私は保護された$ fillable = ['mcode'、 'code'、 'title'、 'name'、 'mobile'、 'email'、 'address'、 'state' ];それでも動作していません。 – sam

0

まあ、$fillable変数は、コントローラにおける質量割り当てにあり、それが動作するかどうかを確認するために次のコードを使用しようとは:

// App\Person.php 
public class Person { 
    $fillable = ['name', 'age']; 
} 

App\Controllers\PersonController.php 
public class PersonController extends Controller { 
    public function store(Request $request) { 
     $data = $request->only('name', 'age'); // you can use Input::all() too 
     return App\Person::create($data); 
    } 
} 

は、代わりに私が使用したのだ、なぜなら経度のコードを変更しませんでしたより小さな例ですが、それは同じ考え方です。

関連する問題