2016-11-19 2 views
0

現在、私は配列の属性を持っていますが、そのモデルはすでにテーブルに存在しています。どのようにしてモデルをインスタンス化し、関数を使うことができるのかを再度問いません。私は方法があることを知っている。私を正しい方向に向ける。以下は、私が現在持っているモデルのいくつかの値の配列の構造です。属性を持つデータベースに既に存在する雄弁なモデルをインスタンス化しますか?

"url" => null 
    "is_default" => 1 
    "is_verified" => 2 
    "verification_token" => null 
+0

'$ model = new YourModel(['url' => '']); ' –

+0

などのインスタンスを作成しますが、これは新しいインスタンスを作成します。つまり、saveを呼び出すとnew行 – msonowal

+0

保存して問題を解決しないでください。 –

答えて

0

最後に、私はそれを得た、 我々は値

$model = new YourModel(['name' => 'foo', 'other_attribute'=>3], false); 

でモデルをインスタンス化することができます私たちは、それと言うだろう偽として第2のパラメータを渡すことができますデータベースに存在します

-1

私はあなたがfirstOrNewfirstOrCreate方法を探していると思います。 (Laravel 5.2 reference

両方のメソッドは、指定された列と値のペアを使用してデータベースレコードの検索を試みます。ただし、firstOrNewはデータベースにデータを挿入しないため、save()メソッドを手動で呼び出す必要があります。

firstOrCreateのようなfirstOrNewメソッドは、指定された属性に一致するデータベース内のレコードの検索を試みます。ただし、モデルが見つからない場合は、新しいモデルインスタンスが返されます。 firstOrNewによって返されたモデルはまだデータベースに永続化されていないことに注意してください。あなたはそれを永続化するために手動で保存呼び出す必要があります:

+0

が必要ですが、モデルをインスタンス化するだけで照会したくありません。 – msonowal

関連する問題