私は別のデータベースからモデル行の数を取得しようとしています。私は両方のデータベースを正常に設定しました。私の問題は、生のクエリを実行しようとするときに同じ接続を使用しているようには見えないということです。DB :: rawモデル接続を使用していません
コード:
class Lead extends Model
{
protected $connection = 'infused2';
public $timestamps = false;
function campaignCount(Campaign $campaign)
{
$leads = $this->join('lead_history', 'leads.id', '=', 'lead_history.id_lead')->join('assignments', 'leads.id', '=', 'assignments.id_lead');
if (!empty($campaign->lead_date_created_operand)) {
if ($campaign->leadDateCreatedOperand->name == 'day age') {
$leads->where(DB::raw("date_format(from_unixtime(lead_history.date_created), '%d-%m-%Y') = date_format(".strtotime($campaign->lead_date_created_value).", '%d-%m-%Y')"));
}
else if ($campaign->leadDateCreatedOperand->name == 'month age') {
$leads->where(DB::raw("date_format(from_unixtime(lead_history.date_created), '%m-%Y') = date_format(".strtotime($campaign->lead_date_created_value).", '%m-%Y')"));
}
}
if (!empty($campaign->lead_date_assigned_operand)) {
if ($campaign->leadDateAssignedOperand->name == 'day age') {
$leads->where(DB::raw("date_format(from_unixtime(assignments.date_assigned), '%d-%m-%Y') = date_format(".strtotime($campaign->lead_date_assigned_value).", '%d-%m-%Y')"));
}
else if ($campaign->leadDateAssignedOperand->name == 'month age') {
$leads->where(DB::raw("date_format(from_unixtime(assignments.date_assigned), '%m-%Y') = date_format(".strtotime($campaign->lead_date_assigned_value).", '%m-%Y')"));
}
}
return $leads->count();
}
}
私はエラーDatabase [mysql] not configured
を取得しています。なぜこのようなことが起きているのですか?生のクエリにモデル接続を使用させるにはどうすればよいですか?
あなたのapp/config/database.phpには、接続の下に「infused2」がありますか?おそらくinfused1とinfused2があります。 –
はい私はそれをデータベース設定でセットアップしています。 – kjdion84
キャンペーンはモデルですか?もしそうなら、それは別のデータベースにありますか?回答が「はい」の場合は、Campaignの$ connection = 'db_name'も保護されていますか? –