2015-02-26 53 views
0

laravel ..i中的IAM新增了2個數據庫表1.album(id,albumname,galimg_id)和2.galleries(id,galname,galimg,album_id) album_id表單使用每個album_id的外鍵如何使用laravel檢查數據庫記錄數4

id galname  galimg  album_id  
1 play  home/a1.jpg 1  
2 a6   home/a6.jpg  1  
3 school school/sli1.JPG 2 
4 display school/sli2.jpg  2 
6 archbishop staff/archbi.jpg 4 
7 hm   staff/headmaster.jpg  4  
9 a5   school/a5.jpg    2  

上傳的圖片計數5.(計數= 5) IHAVE一個問題,當我試圖將圖像插入album_id專輯表(ID)(2)如何檢查上傳圖像計數大於5或< 5.如果圖像插入數據庫並使用corrsetponponding album_id。否則會給出錯誤信息(最多5張圖像)。 我Controller.php這樣的代碼是在這裏

$id=Input::get('id'); 
    $f1=Input::get('f1'); 
    $file=Input::file('galimg'); 
    $filename=$file->getClientOriginalName(); //save img name into database 
    $file->move('img/Albums/'.$f1,$filename); 
$c=5; 
if(ForumGallery::find('id')->count()<$c) 
    { 
    ForumGallery::create([ 
    'galname'=>Input::get('galname'), 
    'galimg'=>$f1.'/'.$filename, 
    'album_id'=>Input::get('f2'), 
    ]); 
    } 

,但我得到一個錯誤消息的Symfony \分量\調試\異常\ FatalErrorException對非(E_ERROR)

調用一個成員函數count()反對

回答

0

。在你的if語句錯誤:

if(ForumGallery::find('id')->count()<$c) 

嘗試是這樣的:

if(ForumGallery::where('album_id', $theAlbumID)->count()<$c) 

編輯: 重新移動的->get()的建議。

+0

你可以直接調用'count()'而不用'get()'這種方式SQL做計數,並不是所有的行都被提取,然後以PHP計數。 – lukasgeiter

+0

你是對的,我在寫答案時並不是100%確定的。試圖很快,併成爲第一個回答:-D –

+0

先生,即時通訊使用此代碼如果(ForumGallery :: where('album_id',$ theAlbumID) - > count()<$ c) .my控制器。 php代碼是$ id = Input :: get('id'); $ f1 = Input :: get('f1'); $ file = Input :: file('galimg'); $ filename = $ file-> getClientOriginalName(); $ file-> move('img/Albums /'.$ f1,$ filename); if(ForumGallery :: where('album_id',$ theAlbumID) - > count()<$ c) {ForumGallery :: create(['galname'=> Input :: get('galname'), 'galimg '=> $ f1。'/'。$ filename,'album_id'=> Input :: get('f2'), ]); (什麼是'album_id',$ f2)?什麼是$ theAlbumID?.1錯誤msg ErrorException(E_UNKNOWN)未定義的變量:theAlbumID – CNBITMS

相關問題