2017-01-19 5 views
0

テーブル内のエントリを1つだけに制限したいと思います。私はfirstOrCreateについて読んだが、私のモデルでは、私が持っているLaravel FirstOrCreateまたは他のもの

use Illuminate\Database\Eloquent\Model; 
class Ad extends Model 
{ 
    protected $fillable = [ 
    'title', 
    'description', 
    'image' 
    ]; 
} 

基本的に私は、ウェブサイト上でいくつかの広告ボックスのためにそれを使用したいが、一方だけが表示されます。だから私はループして最後の例を見せたくありません。

どうすればこの問題を解決できますか?

ありがとうございます。

+0

あなたが最初のもの、最後の1つのまたはランダムな広告を表示したいですか? –

+0

@AlexeyMezeninいいえ、私はテーブルに1つのレコードしか持っていないので、最初に使用する必要はありません。また、1つを取得する必要があります。 – Morpheus

+0

@Morpheusこの場合'first()'メソッドを使ってください。このメソッドは、あなたがテーブル内にあるこの唯一の広告を返します。 –

答えて

1

あなたはそれを得るためにfirst()方法の表にのみ広告を1つ持っていると思いますので:

$ad = Ad::first(); 
+0

また、 'Ad :: all()'を実行するかどうかは重要ではありません。これは、レコードが1つしかないためです。 (どうして1つのレコードを保持するテーブルを作成するのですか?ハードコーディングするのはなぜですか?) – Loek

+1

ある程度重要です。 'Ad :: first()'が$ ad [0]と同じオブジェクトを返す間、 'Ad :: all()'は配列を返します(したがって、$ ad [0] ...を実行する必要があります) ) – devk

+0

管理部分からアクセス可能なので、追加(画像、説明、タイトル)を変更できます。 – Morpheus

関連する問題