當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Article::translateOrNew方法代碼示例

本文整理匯總了PHP中app\Article::translateOrNew方法的典型用法代碼示例。如果您正苦於以下問題:PHP Article::translateOrNew方法的具體用法?PHP Article::translateOrNew怎麽用?PHP Article::translateOrNew使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在app\Article的用法示例。


在下文中一共展示了Article::translateOrNew方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: store

 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     // validate request
     $validateArticle = Validator::make($request->get('Article'), Article::$rules);
     $validationMessages = [];
     foreach ($request->get('ArticleTranslation') as $key => $value) {
         $validateArticleTranslation = Validator::make($value, ArticleTranslation::$rules);
         if ($validateArticleTranslation->fails()) {
             $validationMessages = array_merge_recursive($validationMessages, $validateArticleTranslation->messages()->toArray());
         }
     }
     if ($validateArticle->fails() or count($validationMessages) > 0) {
         $validationMessages = array_merge_recursive($validateArticle->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 Article
         $article = new Article();
         $article->key = Common::createKeyURL($request->input('ArticleTranslation.' . $languageDefault->code . '.name'));
         $article->priority = $request->input('Article.priority');
         $article->is_publish = $request->input('Article.is_publish');
         $article->created_by = $user->name;
         $article->updated_by = $user->name;
         $article->save();
         // sync categories
         if ($request->input('Article.categories') != "") {
             $categories = explode(",", $request->input('Article.categories'));
             if (count($categories) > 0) {
                 $article->categories()->attach($categories);
             }
         }
         // save attachments
         if ($request->input('Article.attachments') != "") {
             $requestAttachments = explode(',', $request->input('Article.attachments'));
             $attachments = [];
             foreach ($requestAttachments as $key => $value) {
                 array_push($attachments, new Attachment(['entry_id' => $article->id, 'table_name' => 'articles', 'path' => $value, 'priority' => 0, 'is_publish' => 1]));
             }
             if (count($attachments) > 0) {
                 $article->attachments()->saveMany($attachments);
             }
         }
         // save data languages
         foreach ($request->get('ArticleTranslation') as $locale => $value) {
             $article->translateOrNew($locale)->name = $request->input('ArticleTranslation.' . $locale . '.name');
             $article->translateOrNew($locale)->summary = $request->input('ArticleTranslation.' . $locale . '.summary');
             $article->translateOrNew($locale)->content = $request->input('ArticleTranslation.' . $locale . '.content');
             $article->translateOrNew($locale)->meta_description = $request->input('ArticleTranslation.' . $locale . '.meta_description');
             $article->translateOrNew($locale)->meta_keywords = $request->input('ArticleTranslation.' . $locale . '.meta_keywords');
         }
         $article->save();
     });
     return redirect()->route('admin.articles.index');
 }
開發者ID:phantsang,項目名稱:1u0U39rjwJO4Vmnt99uk9j6,代碼行數:69,代碼來源:ArticlesController.php

示例2: function

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
use App\Article;
Route::get('/', function () {
    return view('welcome');
});
Route::get('/create', function () {
    $article = new Article();
    $article->online = true;
    $article->save();
    foreach (['en', 'nl', 'fr', 'de'] as $locale) {
        $article->translateOrNew($locale)->name = "Title {$locale}";
        $article->translateOrNew($locale)->text = "Text {$locale}";
    }
    $article->save();
    return 'article created';
});
get('{locale}', function ($locale) {
    app()->setLocale($locale);
    $article = Article::first();
    return view('article')->with(compact('article'));
});
開發者ID:bengitiger,項目名稱:multilingual-support-eloquent,代碼行數:30,代碼來源:routes.php


注:本文中的app\Article::translateOrNew方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。