単純に、メソッド内の$category
をnull値に初期化することができます。
<?php
public function receive(Request $request) {
$category = null; //<== INITIALIZE THE $category VARIABLE TO NULL.
if ($request->ajax()) {
if ($id = $request->id) {
$receive = User::where(['id' => $id])->first();
if (isset($receive->category->name)) {
$category = $receive->category->name;
}
die(json_encode([
'status' => TRUE,
'receive' => $receive,
'category' => $category
]));
}
}
}
代わり.....あなたconditional logic
がoverride $category
に失敗した場合でも、我々は背中に落下するnull値を持っているなるように:
<?php
public function receive(Request $request) {
// CREATE A NEW ARRAY WITH KEYS CORRESPONDING TO RESPONSE KEY
// THEN INITIALIZE EACH ELEMENT OF THE ARRAY TO NULL OR FALSE
$response = [
'status' => false,
'receive' => null,
'category' => null
];
if ($request->ajax()) {
if ($id = $request->id) {
$receive = User::where(['id' => $id])->first();
if (isset($receive->category->name)) {
$category = $receive->category->name;
}
// OVERRIDE THE VALUES OF THE $response ARRAY.
// IF $receive OR $category ARE SET, WE USE THEIR VALUES
// OTHERWISE WE SET THE VALUES TO NULL
$response['status'] = true;
$response['receive'] = isset($receive)?$receive:null;
$response['category'] = isset($category)?$category:null;
}
}
// SINCE WE HAVE ACCESS TO $response, WE CAN NOW FINALLY
// JSON_ENCODE IT & DIE-OUT THE RESULT...
die(json_encode($response));
}
はい、わかっています。何かについて質問がありましたか? –