2017-08-03 10 views
0

を見つけていないビューは、私が間違っているものを見つけることを試みるが、私はそれを見つけることができませんLaravelベーステーブルまたは

マイ移行ファイル:の

<?php 

use Illuminate\Database\Migrations\Migration; 
use Illuminate\Database\Schema\Blueprint; 

class CreateClientProjectTable extends Migration { 

    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::create('client_project', function(Blueprint $table) 
     { 
      $table->increments('id'); 
      $table->integer('client_id'); 
      $table->integer('project_id'); 
      $table->timestamps(); 
     }); 
    } 


    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::drop('client_project'); 
    } 

} 

ファーストすべて、私はチェックテーブルが作成され、それがあります。その後

controllerへの呼び出し routeはこれです:

$client_project = new Client_Project(); 
$client_project->client_id = DB::table('clients')->orderby('id','DESC')->take(1)->get(); 
$client_project->project_id = DB::table('projects')->orderby('id','DESC')->take(1)->get(); 
$client_project->save(); 

とエラー:

Base table or view not found: 1146 Table 'web.client__projects' doesn't exist

Route::post('projectsclients/postUpload', ['uses' => '[email protected]', 'as' => 'admin.projectsclients.store']); 

機能はここのように見えます(adminが付けられ)

問題は私のテーブルはですはclient__projectsではありません。

私はこれを修正する必要がありますか?

ありがとう、どんな助けもありがとうございます。

+0

を、関連するセクションを読んでお勧めの命名規則について学ぶために、あなたのテーブル名でのごClient_Projectモデルが –

+0

正しいか間違っているか、あなたのClient_Projectモデルを表示し確認してください –

+0

私の答えがあなたの解決策なら、答えとしてこの解決策を追加し、私の答えを受け入れるでしょう –

答えて

2

クラス名を_で分割してはいけません。名前はClientProjectとする必要があります。一般的に、あなたがモーダルを編集して、あなたはLaravelの命名規則に従っていない

ClientProject.php

public $table = 'client_project';

+0

それは働きます、私にあなたに何かを聞かせてください。なぜ、今私は得る: '一般的なエラー:1366整数値が間違っています: '[{" id ":40、" name ":" hola "、" slug ":" hola "、" priority ":0、" created_at " 1行目の「client_id」列に対して「2017-08-03 10:47:31」、「updated_at」:「2017-08-03 10:47:31」}] '(SQL:client_project'( 'client_id '、' –

+0

よく分からない@LluísPuigFerrerは、物事を分けておくために別の質問を掲示した方がいいですか?私はclient_idがあなたの挿入クエリでnullに設定されていると仮定しますが、整数を必要としますか? – Ian

2

を追加し、テーブルに問題がある場合。この特定の問題を解決するために、明示的にタブ名を定義することができます。 class Client_Projects定義では、この追加:

protected $table = 'client_project'; 

をしかし、私はここに文書でhttps://laravel.com/docs/5.4/eloquent#eloquent-model-conventions

+0

それは忘れました; 「一般的なエラー:1366整数値が正しくありません:「[{"id":40、 "name": "hola"、 "slug": "hola"、 "priority"行1の「client_id」列の「created_at」:「2017-08-03 10:47:31」、「updated_at」:「2017-08-03 10:47:31」}] '(SQL: client_project'( 'client_id'、 ' –

+0

あなたのマイグレーションを更新し、' - > unsigned() 'を整数列に追加する –

+1

もしあなたがあなたは命名規則を守るために毎回テーブル名を定義することを覚えておく必要はなく、あなたの人生は楽になります:) – Nima

関連する問題