查詢轉換數組我無法傳遞第一個查詢集合將其轉換爲數組。這裏是我的控制器無法通過使用WhereIn
$memberfilters = MemberProfile::join('membership_histories', 'membership_histories.profile_id', '=','member_profiles.id')
->select('member_profiles.id','member_profiles.last_name','member_profiles.first_name','member_profiles.middle_name','member_profiles.name_ext','member_profiles.birthday','member_profiles.encoded_by')
->addSelect(DB::raw('membership_histories.profile_id, membership_histories.log_reason, max(membership_histories.effective_date) as date, membership_histories.membership_type, membership_histories.country_name, membership_histories.sub_region_name'))
->orderBy('member_profiles.last_name','ASC')
->where('membership_histories.country_name', 'Philippines')
->groupBy('membership_histories.profile_id')
->orderBy('date', 'desc')
->get();
$members = MemberProfile::join('membership_histories', 'membership_histories.profile_id', '=','member_profiles.id')
->whereIn('member_profiles.id', $memberfilters->toArray())
->get();
我將申請更多的地方在第二查詢$成員方法,這就是爲什麼我一直在使用,其中將它傳遞到那裏。有了這個邏輯,我得到了我的刀片觀點
@Alexey Mezenin 沒有結果 '0' 當我使用->whereIn('member_profiles.id', $memberfilters->pluck('id'))
,我得到這個錯誤
ErrorException在ComputeAge.php線13: 試圖讓非對象
的屬性這是我的ComputeAge.php
namespace App\Library;
use App\MemberProfile;
use DateTime;
class ComputeAge
{
// Compute age based on given birthday.
public static function show($id)
{
$from = new DateTime(MemberProfile::find($id)->birthday);
$to = new DateTime('today');
$age = $from->diff($to)->y;
return $age;
}
}
呃..好..嘗試'var_dump'(或者甚至更好'dd')你的'$ memberfilters' ...感覺就像那個變量不僅包含id .. –
Hi @BagusTesa我怎麼寫再次在控制器中?我在哪裏添加dd –
嗨@RodneyZanoria,對於遲到的答案感到抱歉,看起來@AlexeyMezenin已經直接指出了你正確的方向。實際上,我想在確定' - > get()'MemberProfile'後的查詢結果。 –