function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Janno RipJanno Rip 

Use current record to display similiar ones - using lightning component

I am grinding my way through the art of lightning components. I am trying to achieve the following:

While being on a record, I want to see another (similiar) record based on a couple of criteria. For example 'JobTitle__c' so that in my lightning card I want to see a record who has the same 'JobTitle__c'as the record I am currently on.

User-added image
Unfortunately I always come back to the same problem: How can I query dynamically for records based on 'JobTitle__c'

All I can find online is
    recordId: component.get("v.recordId")
which is not getting me anywhere since it is not the recordId I need but in this case 'JobTitle__c'

Here is my apex class:
public class NextBestPotentialController {
public static List<Lead> getLead (String JobTitle, Id recordId){
String searchTitle = '%' + JobTitle + '%';       
List<Lead> returnlead = new List<Lead>(); 
List<Lead>  myLeads = [SELECT Id,Name,JOB_Titel_letzte_bez_rel_Anzeige__c,company,city
    FROM Lead
    WHERE JOB_Titel_letzte_bez_rel_Anzeige__c LIKE :searchTitle AND Id != :recordId
    LIMIT 1
    for(Lead le:myLeads){
    return returnlead ;   }}

my component:
<aura:component controller="NextBestPotentialController" implements="flexipage:availableForRecordHome,force:hasRecordId" access="global">

<aura:attribute name="JobTitle" type="String" default="Physio"/>
<aura:attribute name="leadList" type="list" />
<aura:attribute name="recordId" type="Id" />

<aura:handler name="init" value="{!this}" action="{!c.doInit}" />

<div class="slds-grid slds-wrap">
    <aura:iteration items="{!v.leadList}" var="lea"  >
<div class="slds-col slds-size_4-of-4 slds-p-around_small">
    <lightning:card title="Lead Information" footer="Sample footer" iconName="standard:lead">

        <p class="slds-p-horizontal_small">
 ID: {!lea.Id}
       <p class="slds-p-horizontal_small">  
Name: {!lea.Name}
            <p class="slds-p-horizontal_small">
 Firma: {!lea.Company}
           <p class="slds-p-horizontal_small">
Jobtitle: {!lea.JOB_Titel_letzte_bez_rel_Anzeige__c}
        <aura:set attribute="footer">
        <lightning:badge label="Tag1"/>
        <lightning:badge label="Tag2"/>
        <lightning:badge label="{!lea.JOB_Titel_letzte_bez_rel_Anzeige__c}"/>

my controller:
 doInit : function(component, event) {

    var action  = component.get('c.getLead');

    recordId: component.get("v.recordId"),
    JobTitle: component.get("v.JobTitle")

    var state=response.getState();
    var response1=response.getReturnValue();
$A.enqueueAction(action); }})
So the only reason why I get a result is because I set a default on
<aura:attribute name="JobTitle" type="String" default="Physio"/>

Otherwise it would be null since I dont know how, where and when to populate the values.