namespace App¥Models;
use Illuminate¥Database¥Eloquent¥Model;
class Neko extends Model
{
public $fillable = ['neko_name', 'neko_val']; // Laravel規定によるホワイトリスト
/**
* 複数レコードのINSERT
* @param [] $data データ(エンティティの配列)
*/
public function insertAll($data){
if(empty($data)) return;
foreach($data as &$ent){
$ent = array_intersect_key($ent, array_flip($this->fillable)); // ホワイリストに存在しないフィールドを除外する
unset($ent['id']);
}
unset($ent);
$neko = $this->insert($data);
}
コントローラ内でinsertメソッドを使う場合
$neko = \App\Models\Neko::insert($ent);
「$fillable」によるホワイトリストによるフィルタリングはなされないので注意。ホワイトリストの適用は自前で行うこと。トランザクション
insertメソッドはトランザクションも効く
\DB::beginTransaction();
$neko = \App\Models\Neko::insert($ent);
\DB::rollback();
モデルクラス内でinsertメソッドを使う場合
$this->insert($data);
$neko = ¥App¥Models¥Neko::updateOrCreate(['id'=>$ent['id']] ,$ent);
// ホワイトリストによるフィルタリング
$ent = array_intersect_key($ent, array_flip($this->fillable));
// INSERTおよびidを取得する
$id = $this->insertGetId($ent);
/**
* エンティティのDB保存
* @note エンティティのidが空ならINSERT, 空でないならUPDATEになる。
* @param [] $ent エンティティ
* @return [] エンティティ(insertされた場合、新idがセットされている)
*/
public function saveEntity(&$ent){
if(empty($ent['id'])){
// ▽ idが空であればINSERTをする。
$ent = array_intersect_key($ent, array_flip($this->fillable)); // ホワイトリストによるフィルタリング
$id = $this->insertGetId($ent); // INSERT
$ent['id'] = $id;
}else{
// ▽ idが空でなければUPDATEする。
$ent = array_intersect_key($ent, array_flip($this->fillable)); // ホワイトリストによるフィルタリング
$this->updateOrCreate(['id'=>$ent['id']], $ent); // UPDATE
}
return $ent;
}
/**
* データのDB保存
* @param [] $data データ(エンティティの配列)
* @return [] データ(insertされた場合、新idがセットされている)
*/
public function saveAll(&$data){
$data2 = [];
foreach($data as &$ent){
$data2[] = $this->saveEntity($ent);
}
unset($ent);
return $data2;
}
/**
* 複数レコードのINSERT
* @param [] $data データ(エンティティの配列)
*/
public function insertAll($data){
if(empty($data)) return;
foreach($data as &$ent){
$ent = array_intersect_key($ent, array_flip($this->fillable));
unset($ent['id']);
}
unset($ent);
$this->insert($data);
}
$neko = new \App\Models\Neko();
$neko->destroy(163);// idを指定して削除
$neko->destroy([159, 160, 161]); // 複数のidを指定して削除
'timezone' => 'Asia/Tokyo',
/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'ja',
/*
|--------------------------------------------------------------------------
| Application Fallback Locale
|--------------------------------------------------------------------------
|
| The fallback locale determines the locale to use when the current one
| is not available. You may change the value to correspond to any of
| the language folders that are provided through your application.
|
*/
'fallback_locale' => 'ja',
/*
|--------------------------------------------------------------------------
| Faker Locale
|--------------------------------------------------------------------------
|
| This locale will be used by the Faker PHP library when generating fake
| data for your database seeds. For example, this will be used to get
| localized telephone numbers, street address information and more.
|
*/
'faker_locale' => 'ja_JP',
return redirect('neko/bark');
<!-- ログインメニュー -->
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}" class="btn btn-info btn-sm">Home</a>
@else
<a href="{{ route('login') }}" class="btn btn-info btn-sm">ログイン</a>
@if (Route::has('register'))
<a href="{{ route('register') }}" class="btn btn-info btn-sm">登録</a>
@endif
@endauth
</div>
@endif
ログインメニューの例
<div>
<?php $hoge = 'neko'; ?>
@if($hoge=='neko')
<span>飼い猫に人間のエサを与えていけないと犬が言った。</span>
@else
<span>野良犬にエサをあげてはいけないと家畜豚は言う。</span>
@endif
</div>
<div>
@if(@empty($none))
<span>ニワトリがネコのエサを占拠したが、イヌのエサをネコに与えた。</span>
@else
<span>ブタはネコに食料を分けあたえようとしたが、無理やり食べさせることにした。</span>
@endif
</div>
表示
飼い猫に人間のエサを与えていけないと犬が言った。 ニワトリがネコのエサを占拠したが、イヌのエサをネコに与えた。Qiita@nyax 【Laravel】Bladeの主要ディレクティブ一覧