本文整理汇总了PHP中app\Product::translateOrNew方法的典型用法代码示例。如果您正苦于以下问题:PHP Product::translateOrNew方法的具体用法?PHP Product::translateOrNew怎么用?PHP Product::translateOrNew使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\Product
的用法示例。
在下文中一共展示了Product::translateOrNew方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: add
public function add(Request $request)
{
$category = Category::all();
if ($request->isMethod('post')) {
$input = $request->all();
$fileName = null;
if (!empty($input['image_url'])) {
$file = $input['image_url'];
$extension = $file->getClientOriginalExtension();
$fileName = rand(11111, 99999) . '.' . $extension;
$file->move("admin/product", $fileName);
$destinationPath = "admin/product";
$fileThumb = "400x300_" . $fileName;
$fileThumbBig = "600x500_" . $fileName;
$img = Image::make("{$destinationPath}/{$fileName}")->resize(400, 300);
$img->save("{$destinationPath}/{$fileThumb}");
$imgBig = Image::make("{$destinationPath}/{$fileName}")->resize(600, 500);
$imgBig->save("{$destinationPath}/{$fileThumbBig}");
}
$product = new Product();
$product->price = $input['price'];
$product->code = $input['code'];
$product->categories_id = $input['category'];
$product->image_url = $fileName;
$product->slug = $this->slugify($input['title']);
$product->translateOrNew(LaravelLocalization::setLocale())->title = $input['title'];
$product->translateOrNew(LaravelLocalization::setLocale())->summary = $input['summary'];
$product->translateOrNew(LaravelLocalization::setLocale())->description = $input['description'];
$product->save();
return redirect(LaravelLocalization::setLocale() . DIRECTORY_SEPARATOR . 'admin-product');
}
return view('admin.products.add', compact('category'));
}
示例2: store
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
// validate request
$validateProduct = Validator::make($request->get('Product'), Product::$rules);
$validationMessages = [];
foreach ($request->get('ProductTranslation') as $key => $value) {
$validateProductTranslation = Validator::make($value, ProductTranslation::$rules);
if ($validateProductTranslation->fails()) {
$validationMessages = array_merge_recursive($validationMessages, $validateProductTranslation->messages()->toArray());
}
}
if ($validateProduct->fails() or count($validationMessages) > 0) {
$validationMessages = array_merge_recursive($validateProduct->messages()->toArray(), $validationMessages);
return redirect()->back()->withErrors($validationMessages)->withInput();
}
// get all languages
$languages = Language::all();
// find language default
$languageDefault = $languages->where('is_key_language', 1)->first();
if (is_null($languageDefault)) {
$languageDefault = $languages->first();
}
// sure execute success, if not success rollback
DB::transaction(function () use($request, $languageDefault) {
$user = $request->user();
// insert Product
$product = new Product();
$product->key = Common::createKeyURL($request->input('ProductTranslation.' . $languageDefault->code . '.name'));
$product->code = $request->input('Product.code');
$product->model = $request->input('Product.model');
$product->producer_id = $request->input('Product.producer_id');
$product->origin = $request->input('Product.origin');
$product->unit = $request->input('Product.unit');
$product->price = $request->input('Product.price');
$product->discount = $request->input('Product.discount');
$product->priority = $request->input('Product.priority');
$product->is_publish = $request->input('Product.is_publish');
$product->created_by = $user->name;
$product->updated_by = $user->name;
$product->save();
// sync categories
if ($request->input('Product.categories') != "") {
$categories = explode(",", $request->input('Product.categories'));
if (count($categories) > 0) {
$product->categories()->attach($categories);
}
}
// sync colors
if ($request->input('Product.colors') != "") {
$colors = explode(",", $request->input('Product.colors'));
if (count($colors) > 0) {
$product->colors()->attach($colors);
}
}
// save attachments
if ($request->input('Product.attachments') != "") {
$requestAttachments = explode(',', $request->input('Product.attachments'));
$attachments = [];
foreach ($requestAttachments as $key => $value) {
array_push($attachments, new Attachment(['entry_id' => $product->id, 'table_name' => 'products', 'path' => $value, 'priority' => 0, 'is_publish' => 1]));
}
if (count($attachments) > 0) {
$product->attachments()->saveMany($attachments);
}
}
// save data languages
foreach ($request->get('ProductTranslation') as $locale => $value) {
$product->translateOrNew($locale)->name = $request->input('ProductTranslation.' . $locale . '.name');
$product->translateOrNew($locale)->summary = $request->input('ProductTranslation.' . $locale . '.summary');
$product->translateOrNew($locale)->content = $request->input('ProductTranslation.' . $locale . '.content');
$product->translateOrNew($locale)->meta_description = $request->input('ProductTranslation.' . $locale . '.meta_description');
$product->translateOrNew($locale)->meta_keywords = $request->input('ProductTranslation.' . $locale . '.meta_keywords');
}
$product->save();
});
return redirect()->route('admin.products.index');
}