2014-06-06 139 views
0

我有兩列在目錄表 1. ID 2.內容Laravel檢查id是否存在?

現在這就是我想要做

Route::post('save', function() 
{ 
    $editor_content=Input::get('editor_content'); 
    $rules = array('editor_content' => 'required'); 
    $validator= Validator::make(Input::all(), $rules); 
    if($validator->passes()) 
    { 
     //1. check if id is submitted? 
     //2. if id exists update content table 
     //3. else insert new content 
      //create new instance 
      $content= new Content; 
      // insert the content to content column 
      $content->content = $editor_content; 
      //save the content 
      $content->save(); 
      // check if content has id 
      $id=$content->id; 

     return Response::json(array('success' => 'sucessfully saved', 'id' => $id));  
     } 
    if($validator->fails()) 
    { 
     return $validator->messages() ; 
    } 

    }); 

我想檢查是否ID已被提交或檢查我通過ajax處理請求,如果id存在,我想更新內容列,如果它不是我想創建新的實例,我該怎麼做?

+2

使用內容:: firstOrCreate($的數據);它會做同樣的 – Saqueib

+0

我相信如果你想更新那條記錄你需要傳入這個id,否則你無法知道哪一列需要更新,因爲內容可能會改變。 – user3158900

回答

0

替換您行:

$content= new Content; 

有:

$content = Content::firstOrCreate(array('id' => $editor_content['id'])); //this will check for the id in contents table and create a new record if it doesn't exist 
+0

未定義的變量,即使我放置$ id之前? – devt204

+0

是的,編輯的版本應該工作,抱歉關於錯字,它假設是一個數組。 – har2vey

+0

即使有數組,我仍然得到未定義的變量 – devt204