public function getDeleteQuote($quote_id)
{
$quote = Quote::find($quote_id);
$author_id = $quote->author_id;
$total_quote = DB::table('quotes')->where('author_id' , $author_id)->count();
$author_deleted = false;
if($total_quote === 1)
{
$auth_deleted = DB::table('authors')->where('id' , $author_id)->delete();
$author_deleted = true;
}
$quote->delete();
$msg = $author_deleted ? 'Quote And Author Deleted !' : 'Quote Deleted !' ;
return redirect()->route('home')->with([
'success' => $msg
]);
}
最初の3行では、同じテーブルの1つを検索するquote_idと、同じ著者の見積りを数えます。しかし、私はこれを1回のクエリでしかやりたくありません。どうやってやるの ?laravel query builderの同じテーブルで1つのクエリで数えて検索する方法は?
すべてのコードを脇に置きます。代わりに適切なCREATEとINSERTステートメントと望ましい結果を提供してください – Strawberry
あなたはおそらくリレーションシップとカスケード削除を使ってこれをもっとよくすることができます。削除に関連する作者も削除しますが、もう少し必要なものを手に入れる必要があります –