2014-05-18 4 views
2

나는 Stock이라는 모델을 가지고 있으며 행을 삽입하거나 업데이트하려고합니다 (해당 행이 이미있는 경우). 표 6 열 가지고 jQuery로여러 조건의 첫 번째 새 기능?

drink_id 
flow_id 
bought 
left 
created_at 
updated_at 

I 데이터 수집을 AJAX로를 통과한다. 데이터는 도착하지만, 다음 코드는 제대로 작동하지 않습니다

$row = Stock::firstOrNew(array('drink_id' => $drink_id, 
       'flow_id' => $max_flow)); 


$row -> bought = $bought; 
$row -> left = $left; 
$row -> save(); 

나는 다음과 같은 오류 있어요 :

{"error": 
    { 
    "type":"Illuminate\\Database\\QueryException", 
    "message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' 
     in 'where clause' (SQL: update `stock` set `bought` = 22, 
     `updated_at` = 2014- 05-18 09:10:14 where `id` is null)", 
     "file":"C:\\wamp\\www\\csabi\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php", 
     "line":539 
    } 
} 
+0

이것은 이상하게 보입니다. Laravel은 업데이트를 시도합니다. 즉, Laravel은 업데이트를 시도합니다. 즉, 이미 해당 drink_id와 flow_id를 가진 항목이지만 datastore에 저장할 때 동시에 찾을 수 없습니다. 신분증. $ 행을 덤프하여 정의 된 속성을 확인하십시오. – edi9999

+0

예. 그리고 만약 $ item -> save(); 저장 또는 갱신으로 작동해야하지만 새 레코드가 작성됩니다. – csaron92

+0

변수가 맞습니까? 그것은 "id'는 null입니다"라고 SQL 쿼리에서 말합니다. – Laurence

답변

3

가장 큰 문제는 내가 추가했다, 그래서 Laravel가 붙지 기본 키를 지원하지 않는 것이 었습니다을 테이블에 새로운 'id'행.

관련 문제