Php Laravel有很多没有返回任何结果-没有';我甚至都不怀疑?
我是拉雷维尔的新手,在过去的几个小时里我一直在拉扯头发。 我有一个现有的网站,我正试图转换成Laravel,第一步是为它建立一个API 我有一个活动模型,每个活动都有帖子。因此,他们之间应该有一种单一的关系 以下是我目前的代码: maintages.phpPhp Laravel有很多没有返回任何结果-没有';我甚至都不怀疑?,php,mysql,laravel,Php,Mysql,Laravel,我是拉雷维尔的新手,在过去的几个小时里我一直在拉扯头发。 我有一个现有的网站,我正试图转换成Laravel,第一步是为它建立一个API 我有一个活动模型,每个活动都有帖子。因此,他们之间应该有一种单一的关系 以下是我目前的代码: maintages.php namespace App; use Illuminate\Database\Eloquent\Model; class Campaigns extends Model { // Define the table name for
namespace App;
use Illuminate\Database\Eloquent\Model;
class Campaigns extends Model
{
// Define the table name for this model
protected $table = 'campaign_accounts';
protected $primaryKey = 'id';
}
namespace App;
use Illuminate\Database\Eloquent\Model;
class CampaignPosts extends Model
{
// Define the table name for this model
protected $table = 'campaign_posts';
protected $primaryKey = 'id';
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\CampaignPosts;
DB::enableQueryLog();
class CampaignsController extends Controller
{
public function index()
{
return \App\Campaigns::all();
}
public function show($id)
{
$campaigns = \App\Campaigns::find($id);
$campaignposts = $campaigns->campaignPosts;
dd(
$campaignposts
);
return array(
'status' => 'OK',
'data' => array(
'campaign' =>$campaigns,
'posts' => $campaignposts
)
);
}
// Define relationship to CampaignPost
public function campaignPosts()
{
// First key is foreign key, second key is local key
return $this->hasMany('App\CampaignPosts', 'accountid', 'accountid');
}
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Campaigns;
class CampaignPostsController extends Controller
{
// Define relationship to CampaignPost
public function campaigns()
{
// First key is foreign key, second key is local key
return $this->belongsTo('App\Campaigns', 'accountid', 'accountid');
}
}
activityposts.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Campaigns extends Model
{
// Define the table name for this model
protected $table = 'campaign_accounts';
protected $primaryKey = 'id';
}
namespace App;
use Illuminate\Database\Eloquent\Model;
class CampaignPosts extends Model
{
// Define the table name for this model
protected $table = 'campaign_posts';
protected $primaryKey = 'id';
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\CampaignPosts;
DB::enableQueryLog();
class CampaignsController extends Controller
{
public function index()
{
return \App\Campaigns::all();
}
public function show($id)
{
$campaigns = \App\Campaigns::find($id);
$campaignposts = $campaigns->campaignPosts;
dd(
$campaignposts
);
return array(
'status' => 'OK',
'data' => array(
'campaign' =>$campaigns,
'posts' => $campaignposts
)
);
}
// Define relationship to CampaignPost
public function campaignPosts()
{
// First key is foreign key, second key is local key
return $this->hasMany('App\CampaignPosts', 'accountid', 'accountid');
}
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Campaigns;
class CampaignPostsController extends Controller
{
// Define relationship to CampaignPost
public function campaigns()
{
// First key is foreign key, second key is local key
return $this->belongsTo('App\Campaigns', 'accountid', 'accountid');
}
}
activitscontroller.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Campaigns extends Model
{
// Define the table name for this model
protected $table = 'campaign_accounts';
protected $primaryKey = 'id';
}
namespace App;
use Illuminate\Database\Eloquent\Model;
class CampaignPosts extends Model
{
// Define the table name for this model
protected $table = 'campaign_posts';
protected $primaryKey = 'id';
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\CampaignPosts;
DB::enableQueryLog();
class CampaignsController extends Controller
{
public function index()
{
return \App\Campaigns::all();
}
public function show($id)
{
$campaigns = \App\Campaigns::find($id);
$campaignposts = $campaigns->campaignPosts;
dd(
$campaignposts
);
return array(
'status' => 'OK',
'data' => array(
'campaign' =>$campaigns,
'posts' => $campaignposts
)
);
}
// Define relationship to CampaignPost
public function campaignPosts()
{
// First key is foreign key, second key is local key
return $this->hasMany('App\CampaignPosts', 'accountid', 'accountid');
}
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Campaigns;
class CampaignPostsController extends Controller
{
// Define relationship to CampaignPost
public function campaigns()
{
// First key is foreign key, second key is local key
return $this->belongsTo('App\Campaigns', 'accountid', 'accountid');
}
}
活动PostsController.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Campaigns extends Model
{
// Define the table name for this model
protected $table = 'campaign_accounts';
protected $primaryKey = 'id';
}
namespace App;
use Illuminate\Database\Eloquent\Model;
class CampaignPosts extends Model
{
// Define the table name for this model
protected $table = 'campaign_posts';
protected $primaryKey = 'id';
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\CampaignPosts;
DB::enableQueryLog();
class CampaignsController extends Controller
{
public function index()
{
return \App\Campaigns::all();
}
public function show($id)
{
$campaigns = \App\Campaigns::find($id);
$campaignposts = $campaigns->campaignPosts;
dd(
$campaignposts
);
return array(
'status' => 'OK',
'data' => array(
'campaign' =>$campaigns,
'posts' => $campaignposts
)
);
}
// Define relationship to CampaignPost
public function campaignPosts()
{
// First key is foreign key, second key is local key
return $this->hasMany('App\CampaignPosts', 'accountid', 'accountid');
}
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Campaigns;
class CampaignPostsController extends Controller
{
// Define relationship to CampaignPost
public function campaigns()
{
// First key is foreign key, second key is local key
return $this->belongsTo('App\Campaigns', 'accountid', 'accountid');
}
}
当我导航到/magnities/时,所有的活动都显示良好,但是当我导航到magnities/{id}时,我只得到活动本身的结果,我无法从底层的活动帖子中获得任何信息
我尝试使用DB查询记录器,但看起来似乎没有对campaign_posts表执行任何查询,什么都没有发生
有什么想法吗?这快把我逼疯了
谢谢 关系方法应该转向自模型
namespace App;
use Illuminate\Database\Eloquent\Model;
class Campaigns extends Model
{
// Define the table name for this model
protected $table = 'campaign_accounts';
protected $primaryKey = 'id';
// Define relationship to CampaignPost
public function campaignPosts()
{
// First key is foreign key, second key is local key
return $this->hasMany('App\CampaignPosts', 'accountid', 'accountid');
}
}
及
您需要将关系代码放入模型中