我想将我的$assets->property_id
显示的值...输出122142而不是[0] => 122,[1] = 142,更好的应该是数组格式。我想学习如何在数组中显示它,以便我可以把它放到另一个条件......
$user_id = $id;
$type = "TIC";
$asset = ClientPropertyManagement::where('client_id', '=', $user_id)->get();
foreach( $asset as $assets ) {
if ( $assets->investment_type == $type ) {
echo $property = $assets->property_id;
}
}
我使用Laravel 4.2来显示一些多个表和一些条件以匹配某些值等...
更好的解释:
我需要连接2个主要表格,资产表和属性表。
在我的laravel控制器中,我需要在获得值后首先确定当前用户的用户ID,我需要在资产表下传递它以匹配多个列,如:“client_id” ,“investment_type”和“property_id”。
一旦“client_id”与“用户ID”匹配,我需要检查“investment_type”下是否有“TIC”类型,如果有匹配的情况,我将需要获取“property_id”并通过它到属性表并获取“property_mgmt_contact”值并创建自动电子邮件警报通知。
答案 0 :(得分:1)
使用substr()
将字符串拆分为第三个字符。
$id = $property = $assets->property_id;
echo substr($id, 0, 3) . ' ' . substr($id, 3);
答案 1 :(得分:1)
您的$ assets是对象格式,因此要将其转换为您需要的数组
(array) $assets;
您的代码看起来像
foreach( $asset as $assets ) {
$assetsarray = (array) $assets;
if ( $assetsarray['investment_type'] == $type ) {
echo $property = $assetsarray['property_id'].'<br />';
}
}
如果你想看到任何数组,你可以这样做
echo '<pre>';
var_dump($array);
echo '</pre>';
答案 2 :(得分:0)
所以我发现我的$properties
中的值已经在数组中,这在我的第一个输出中是错误的,并使用echo
而不是print_r
。在启动到另一个条件后,我需要将属性值传递给另一个名为property
的表,并通过匹配property id
来获取联系。
$user_id = $id; // 6 (current logged user)
$asset = ClientPropertyManagement::where('assets.client_id', '=', $user_id)->get();
foreach( $asset as $assets ) {
if( $assets->investment_type == "TIC" ) {
// get property_id under all TIC's column and
// match the property_id to Property table to get the column of `property_mgmt_contact`.
$properties[] = $assets->property_id;
// print_r($properties);
}
}
if( !empty($properties) ){
$property = DB::table('property')->whereIn('id', $properties)->get();
foreach( $property as $p ){
//send email to this email
$p->property_mgmt_contact;
}
}