尝试在 null 上分配 属性 "parent_id"
Attempt to assign property "parent_id" on null
我想用这些代码将数据保存到 mySql table
category.blade.php
<form name="categoryForm" id="categoryForm" action="{{url('admin/add-edit-category')}}" method="post" enctype="multipart/form-data">
@csrf
<div class="form-group">
<label>Select Category Level</label>
<select name="parent_id" id="parent_id" class="form-control select2" style="width: 100%;">
<option value="0">Main Category</option>
</select>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
CategoryController.php
<?php
namespace App\Http\Controllers\admin;
use App\Category;
use App\Section;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Session;
class CategoryController extends Controller
{
public function addEditCategory(Request $request, $id = null)
{
if ($id = "") {
$title = "Add Category";
// Add category functionality
//if id is not get it will create a new
$category = new Category();
} else {
$title = "Edit Category";
// Edit category functionality
}
//checking form data is comming or not?
if ($request->isMethod('post')) {
$data = $request->all();
// echo "<pre>";
// print_r($data);
// die;
$category->parent_id = $data['parent_id'];
$category->save();
}
// Get All the Sections
$getSections = Section::get();
return view('admin.categories.add-edit-category')->with(compact('title', 'getSections'));
}
}
但是当我在 addEditCategory 视图中按下提交按钮时,给我
尝试在 null 上分配 属性 "parent_id"
我该如何解决这个问题?
如果您使用的是laravel => 5.3,请尝试此方法
<?php
namespace App\Http\Controllers\admin;
use App\Category;
use App\Section;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Session;
class CategoryController extends Controller
{
public function addEditCategory(Request $request, $id = null)
{
if ($id = "") {
$title = "Add Category";
// Add category functionality
} else {
$title = "Edit Category";
// Edit category functionality
}
if ($request->isMethod('post')) {
$parent_id = $request->get("parent_id");
$category = Category::updateOrCreate([
"parent_id" => $parent_id
], [
"parent_id" => $parent_id
]);
}
// Get All the Sections
$getSections = Section::get();
return view('admin.categories.add-edit-category')->with(compact('title', 'getSections'));
}
}
我在CategoryController.php中犯了一个错误。不幸的是,我放了一个“=”而不是两个“==”。检查 id 是否等于空。
现已更新
CategoryController.php
class CategoryController extends Controller
{
public function addEditCategory(Request $request, $id = null)
{
if ($id == "") {
$title = "Add Category";
// Add category functionality
} else {
$title = "Edit Category";
// Edit category functionality
}
if ($request->isMethod('post')) {
$parent_id = $request->get("parent_id");
$category = Category::updateOrCreate([
"parent_id" => $parent_id
], [
"parent_id" => $parent_id
]);
}
// Get All the Sections
$getSections = Section::get();
return view('admin.categories.add-edit-category')->with(compact('title', 'getSections'));
}
}
我想用这些代码将数据保存到 mySql table
category.blade.php
<form name="categoryForm" id="categoryForm" action="{{url('admin/add-edit-category')}}" method="post" enctype="multipart/form-data">
@csrf
<div class="form-group">
<label>Select Category Level</label>
<select name="parent_id" id="parent_id" class="form-control select2" style="width: 100%;">
<option value="0">Main Category</option>
</select>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
CategoryController.php
<?php
namespace App\Http\Controllers\admin;
use App\Category;
use App\Section;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Session;
class CategoryController extends Controller
{
public function addEditCategory(Request $request, $id = null)
{
if ($id = "") {
$title = "Add Category";
// Add category functionality
//if id is not get it will create a new
$category = new Category();
} else {
$title = "Edit Category";
// Edit category functionality
}
//checking form data is comming or not?
if ($request->isMethod('post')) {
$data = $request->all();
// echo "<pre>";
// print_r($data);
// die;
$category->parent_id = $data['parent_id'];
$category->save();
}
// Get All the Sections
$getSections = Section::get();
return view('admin.categories.add-edit-category')->with(compact('title', 'getSections'));
}
}
但是当我在 addEditCategory 视图中按下提交按钮时,给我 尝试在 null 上分配 属性 "parent_id" 我该如何解决这个问题?
如果您使用的是laravel => 5.3,请尝试此方法
<?php
namespace App\Http\Controllers\admin;
use App\Category;
use App\Section;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Session;
class CategoryController extends Controller
{
public function addEditCategory(Request $request, $id = null)
{
if ($id = "") {
$title = "Add Category";
// Add category functionality
} else {
$title = "Edit Category";
// Edit category functionality
}
if ($request->isMethod('post')) {
$parent_id = $request->get("parent_id");
$category = Category::updateOrCreate([
"parent_id" => $parent_id
], [
"parent_id" => $parent_id
]);
}
// Get All the Sections
$getSections = Section::get();
return view('admin.categories.add-edit-category')->with(compact('title', 'getSections'));
}
}
我在CategoryController.php中犯了一个错误。不幸的是,我放了一个“=”而不是两个“==”。检查 id 是否等于空。 现已更新
CategoryController.php
class CategoryController extends Controller
{
public function addEditCategory(Request $request, $id = null)
{
if ($id == "") {
$title = "Add Category";
// Add category functionality
} else {
$title = "Edit Category";
// Edit category functionality
}
if ($request->isMethod('post')) {
$parent_id = $request->get("parent_id");
$category = Category::updateOrCreate([
"parent_id" => $parent_id
], [
"parent_id" => $parent_id
]);
}
// Get All the Sections
$getSections = Section::get();
return view('admin.categories.add-edit-category')->with(compact('title', 'getSections'));
}
}