2017-08-02 9 views
3

私はポスト削除:それは削除するかどうかを確認dbのエントリが削除された場合のPHPのチェックイン方法は?

$this->delete('/api/posts/1'); 

どのように?

$this->assertNull(Post::find($post->id)); 

これは機能しません。

$this->notSeeInDatabase('posts', ['id' => $post->id]); 

説明:

->notSeeInDatabase($table, array $data) 

->missingFromDatabase($table, array $data) 

一つだけ他の別名である

+0

削除機能は、成功するとtrueを返し、失敗するとfalseを返します。ほとんどのデータベースフレームワークはこれをサポートしています。 –

答えて

3

が、これは試してみてください。

0

Post::findOrFail()で確認できます。または、if(Post::findById($id) == null)にチェックしてください。

編集::Laravel> 5.2ではまだ動作しているかどうかはわかりませんが、レコードをソフト削除すると、コレクションwithTrashed()をフェッチできます。その後、if($record->isTrashed()) { ... }を使用できます。この機能は、モデルではデフォルトではありませんが、SoftDelete特性に存在します。

編集に関する情報は、linkで見つかりました。

0

あなたはこれを試してみてください:

$post = Post::find($post->id); 

if(is_null($post)) 

はあなたのためにこの作品を願っています!

1

ほとんどの回答は、複雑にするか、または追加機能を使用して呼び出します。 Laravalは、機能を削除するので、あなたは、単に削除を確認するために、このコードを使用することができブールまたはnull

/** 
* Delete the model from the database. 
* 
* @return bool|null 
* @throws \Exception 
*/ 
public function delete() 
{ 
    .... 
    .... 
} 

を返します。

try { 
    if ($this->delete('/api/posts/1')) { 
    }  
} catch (\Exception $exception) {} 
関連する問題