[英]How to update in Laravel Eloquent (HasMany Relationship)
[英]How To Update Laravel hasMany Relationship Models?
我一直在試圖弄清楚如何更新我的hasMany關系模型。 我可以輕松地創建新的關系,但是當我嘗試更新我的關系模型時它不起作用? laravel push()方法是否仍然有效? 有人可以幫忙嗎? 例如,我想更新與Controller中的Products表相關的分類表。 我下面有一段代碼片段::
Product.php
class Product extends Model
{
protected $fillable = [
'product_category', 'product_subcategory', 'product_name',
'product_price', 'product_id', 'product_description', 'product_image'
];
protected $primaryKey = 'product_id';
public $incrementing = false;
public function addTaxonomiesToProduct()
{
return $this->hasOne('App\Taxonomies', 'product_id', 'product_id');
}
}
Taxonomies.php
class Taxonomies extends Model
{
protected $fillable = ['product_category', 'product_subcategory'];
protected $primaryKey = 'product_id'; // or null
public $incrementing = false;
public function product()
{
return $this->belongsTo(Product::class);
}
}
EditProductController.php
class EditProductController extends Controller
{
public function update(Request $request, Product $product)
{
$product_size = array();
foreach ($request->product_size as $key => $value)
{
array_push($product_size,$value);
}
$product->update([
'product_name' => $request->product_name,
'product_price' => $request->product_price,
'product_description' => $request->product_description,
'product_size' => serialize($product_size),
'product_image' => $product_image_path,
]);
/**
* Go the products table,
* Get the product based off its product_id,
* and then update this products taxonomy
**/
$taxonomies = Product::find($product->product_id);
$taxonomies->addTaxonomiesToProduct->product_subcategory = "Mens Shoes";
$taxonomies->push();
}
}
****更新已解決已解決****通過在我的Products表中將hasMany()更改為hasOne(),我的分類表已正確更新。
我認為你並不完全理解Laravel Eloquent關系的運作方式。 首先,您需要在兩個模型中定義關系。您的分類模型具有此功能,但您的產品模型應具有: public function taxonomies() { return $this->hasMany('App\\Taxonomies', 'product_id', 'product_id'); }
public function taxonomies() { return $this->hasMany('App\\Taxonomies', 'product_id', 'product_id'); }
然后,為了更新產品的分類,你會有類似......呃,我不確定你在這里想要實現什么,尤其是你鏈接product_subcategory
的方式,所以我不能正確地說,但是看到文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.