简体   繁体   中英

Dynamic accessing of the php list

I have 2 tables in the database employee(Ename,id,manager_id) and manager(name,id).1 manager has multiple employees under him. The first line extracts all the employees under 1 manager and creates a list of it. Now, I wish to extract the name of each employee name from the retrieved employee id. How do i access each element of the list? This is what i have tried and it throws errors

$emplyeeId=DB::table('employee')->where('manager_id', $givenManagerId)->lists('id');  
for ($i=0;$i<listCount;$i++)
{
    $Ename = DB::table('employee')->where('id', $emplyeeId($i))-> value('Ename');
}

By looking at the docs (and scroll down a little bit, you find a method named pluck . This will return an array with all the values of the given column.

In your case this would be:

$names = DB::table('employee')->where('manager_id', $givenManagerId)->pluck('Ename');

// This will return the following array:
['Kevin', 'Tom', 'Tina', ...]

Laravel pluck method ,for example get just name from data

$names = DB::table('employee')->where('manager_id', $givenManagerId)->pluck('Ename');


Second method with array_filter


$names = DB::table('employee')->where('manager_id', $givenManagerId)->get()->toArray();


$justNames=array_filter($names, function ($ar) { return $ar['Ename']; });


The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM