2017-06-12 2 views
0

LaravelとMVCの考え方を学び始めたばかりなので、私にご負担ください。私はこれにどのようにアプローチすればよいのでしょうか、そして処理されたデータをどこに置くかという標準がありますか?Laravel - Eloquentモデルインスタンスを取得した後のマイナーデータ処理

Iは、例えばdepartment_id(例えばABC)とpersonnel_number(例えば1234)私は1つ(例えばABC1234)としてそれらを一緒につなぎするデータベースとからフェッチあろう。だからEloquentPersonnelを準備した後、オブジェクトプロパティcodeを用意したいと思います。

は、私はちょうどそれが同じように作成された後Eloquentオブジェクトを変更する必要があります

$personnel = App\Personnel::find(1); 
$personnel->code = $personnel->department_id . $personnel->personnel_number; 
//or 
$personnel->code(); //returns ABC1234 

または私はPersonnelモデルでデータを処理しなければならないし、新しいオブジェクトにすべてをフィット?同様に:

$personnel_data = new PersonnelData(App\Personnel::find(1)); 
//so I can access the personnel code using this, which is processed in constructor 
$personnel_data->code; 
//and access the model using this: 
$personnel_data->model; 

またはいくつかの他の方法はありますか?これが必要な場合、例えば:

  • サイトのURLだけ、例えばその一部を保存する時間がありますので

    は、私は従うことができますいくつかの一般的な慣行が存在しなければなりませんGoogleドライブのファイルのURLあなただけのファイルID

  • にあなたが別に彼らの姓と名
  • を保存するときにのみ、タイムスタンプに
  • 人のフルネームを保存する人間が読める時間があるとき...

これらを事前に準備し、必要なときにのみ処理する共通/標準的な方法はありますか?

答えて

2

あなただけの同じモデルの他のプロパティを連結した文字列であるプロパティをしたい場合は、モデル内の属性をオーバーロード:

public function getCodeAttribute() { 
    return $this->department_id . $personnel->personnel_number; 
} 

次に、あなただけの$personnel->code

+0

ああを呼び出すことができ、私は突然変異体についてのページを読んではいけません、ありがとう! –

関連する問題