Я пишу небольшую игру для учебы, и я застрял, у меня есть класс, где у меня есть методы для генерации отчетов, и когда я вызываю любой метод с сайта Controller, он возвращает мне переменные класса в объекте.
Вызов метода _Get или _Create возвращает:
{"id":null,"character_id":1,"name":null,"desc":null}
Класс:
class GenerateRaport {
public $id;
public $character_id;
public $name;
public $desc;
public function _Get() {
$raport = PlayerRaport::where('character_id', $this->character_id)->orderBy('created_at', 'desc')->get();
return $raport;
}
public function _Create() {
$new = new PlayerRaport();
$new->character_id = $this->character_id;
$new->name = $this->name;
$new->desc = $this->desc;
$new->save();
return $new;
}
}
Контроллер:
class RaportController extends Controller
{
public function index(Request $request) {
$raport = new GenerateRaport();
$raport->character_id = \Auth::user()->character_id;
$raport->_Get();
return response()->json($raport, 200);
}
public function create(Request $request) {
$raport = new GenerateRaport();
$raport->character_id = \Auth::user()->character_id;
$raport->name = "Name";
$raport->desc = "Description";
$raport->_Create();
return response()->json($raport, 201);
}
}
@ Редактировать:
class PlayerRaport extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'id', 'name', 'desc', 'character_id', 'viewed'
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
];
}