2014-04-28 41 views
0

我需要能夠訪問我表中某列的所有數據。我最初的做法是做這樣的事情。我試圖在我的數據庫中訪問的列被稱爲'標籤'訪問數據庫中的列Eloquent Laravel4

//get all posts 
$post = Post::get(); 

//get all post tags 
$post_tags = $post['tags']; 

但是,這將返回null。我知道會有一個非常簡單的方法來做到這一點,我只是沒有看到它!

編輯

的原因,我這樣做,這是我在某事什麼時候發佈,你可以添加3個標籤,其涉及到的職位地方有一個標籤系統。長遠來看,我試圖做的是在單擊某個標籤時,它會使用該標籤過濾掉所有帖子。

其工作原理是,當點擊一個標籤,用戶會被重定向到URL,像這樣

//test-site.com/posts/tags/{tag} 

所以我能被使用標籤然後查詢結果的數據庫。我已經設法混淆了我自己的任務,我認爲這會很簡單!

+1

你有沒有爲你的標籤設置關係? –

回答

1

如果你的標籤都存儲在同一個表中,該問題可能是你得到一個完整的結果集:

Post::get(); 

當你應該得到的只有一行:

Post::first(); 

所以這一個可能做的伎倆在這種情況下:

$post = Post::first(); 

$post_tags = $post->tags; 

如果使用Post::get()Post::all(),你必須迭代通過結果集才能得到你的信息:

foreach(Post::all() as $post) 
{ 
    echo $post->tags; 
} 
+0

不太確定這是如何工作的,這並不意味着我需要在我的數據庫中的標籤表?他們目前存儲在與郵件本身相同的表 – jackthedev

+0

哦,我明白了。編輯添加更多信息。 –

+0

是啊,我現在明白了在看看的關係,它可能將是最適合我將它們存儲在那裏自己的表後。感謝您的幫助,另一種方式也很完美! – jackthedev